2011-09-15 4 views
0

class App : Application,INotifyPropertyChangedNotifyPropertyChanged을 발생시키지 않습니다. App.xaml.cs응용 프로그램 : 응용 프로그램, INotifyPropertyChanged가 NotifyPropertyChanged를 발생시키지 않음

public bool isShuffle { 
    get { 
     return _isShufle; 
    } 
    set { 
     _isShufle = value; 
     OnPropertyChanged(new PropertyChangedEventArgs("isShuffle")); 
    } 
} 

App.xaml :

나는 다른 클래스 (스타일 App.xaml의 경로) .I 다른 class.Like에서하고 싶지에서 속성을 채우기 갱신이 원하는

<Path Height="59" 
     Data="M15.999,4.3080001 C17.228001,4.309 18.402,4.5219998 19.514,4.8779998 L18.6" 
     Fill="{Binding isShuffle , 
        Converter={StaticResource AudioColor}}" 
     /> 

하지만 아무것도 업데이트되지 않습니다.

+0

뭐죠 OnPropertyChanged를위한 코드? –

+0

공개 이벤트 PropertyChangedEventHandler PropertyChanged; 보호 된 가상 void OnPropertyChanged (PropertyChangedEventArgs e) { var tempEvent = PropertyChanged; if (tempEvent! = null) { tempEvent (this, e); } } – SevenDays

+0

변환기의 코드는 무엇입니까? 부울 값을 가져 와서 'Brush'로 변환해야합니다 ('Color'가 아닙니다). 바인딩 및 속성이 완벽하지는 않지만 확인 된 것처럼 변환기가 문제의 가장 큰 원인입니다. Xaml 페이지 및 App.xal 및 변환기 코드를 제공해주십시오. –

답변

2
public bool isShuffle { 
     get { 
     return _isShufle; 
     } 
     set { 
     if (_isShufle != value){ 
     _isShufle = value; 
     OnPropertyChanged("isShuffle"); 

} } }

// Create the RaisePropertyChanged method to raise the event 
    protected void OnPropertyChanged(string name) 
    { 
     PropertyChangedEventHandler handler = PropertyChanged; 
     if (handler != null) 
     { 
      handler(this, new PropertyChangedEventArgs(name)); 
     } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 

또한, 당신은 당신이 바인딩에 대한 컨텍스트를 설정하고 있는지 확인해야합니다. 예를 들어, DataContext를 이미 설정하지 않은 경우 ElementName을 사용할 수 있습니다.

`<Application 
    x:Class="MyApp.App" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/p... 
    x:Name="control" ...` 

그리고 당신은 자신에게 바인딩

<Path Height="59" 
          Data="M15.999,4.3080001 C17.228001,4.309 18.402,4.5219998 19.514,4.8779998 L18.6" 
          Fill="{Binding Path=IsShuffle, ElementName=control, Converter={StaticResource AudioColor}}" 
          /> 
+0

나는 당신이 말한 모든 것을 다했지만 성공하지는 못합니다. 로컬 페이지에서 다한다면, 모든 것이 작동합니다.하지만 Path를 전역 요소 (App.xaml에서)로 설정하려고하면 아직 작동하지 않습니다. – SevenDays

관련 문제