Situation: Ich habe eine MainView.xaml und MainViewModel.cs Die Ansicht ist mit dem Viewmodel mit Calibrn Micro verbunden. Die Bindung funktioniert, aber nicht für den speziellen Fall: Wenn ich meine Eigenschaft des Typs Bool in meinem Konstruktor auf false initialisieren, wird die Bindung in keinem Fall auf True aktualisiert. Wenn ich die Stütze auf wahr initialisiere, gibt es kein Problem, sie später auf falsch oder wahr zu ändern!Bool Variable wird nicht aktualisiert nach Initialisierung auf falsch
Die XAML-Datei:
<Style x:Key="EyeXGazeAwareElement" TargetType="FrameworkElement">
<Setter Property="eyeX:Behavior.GazeAware" Value="{Binding IsGazeActivated}" />
<Setter Property="eyeX:Behavior.GazeAwareDelay" Value="10" />
...
<Grid HorizontalAlignment="Center" Style="{StaticResource EyeXGazeAwareElement}" Width="250"></Grid>
Und im Ansichtsmodell:
public bool IsGazeActivated { get; set; }
public MainViewModel()
{
IsGazeActivated = false;
}
private void GazeActivatedChanged()
{
//this value gets changed, but not in the xaml file...
//but only if the initial value was set to false, otherwise it is working perfect
IsGazeActivated = Setting.Instance.IsGazeActivated;
}
Ich habe bereits versucht mode = twoway zu verwenden, geänderter updatesourcetrigger ,. .. aber nichts hat funktioniert!
EDIT: Ich verwende PropertyChanged.Fody zum Weben meiner Eigenschaften. So müssen Sie PropertyChanged nicht manuell aufrufen. Der Wert von eyeX: Behavior.GazeAware kann Ether "True" oder "False" sein und das sollte mit einem Bool zugeordnet werden .. und es ist bereits Mapping, aber nicht, wenn ich die IsGazeActivated auf False im Konstruktor initialisieren.
Ich habe meine Frage bearbeitet, ich denke jetzt ist klar, was ich meine. –