Ich habe im Internet einige Beispiele gesehen, wie ein Boolean mit der Visibility-Eigenschaft eines Steuerelements in XAML verknüpft werden kann. Die meisten guten Beispiele verwenden einen BooleanToVisibiliy-Konverter.Bindungssichtbarkeit in XAML zu einer Sichtbarkeitseigenschaft
Ich möchte nur die Visible-Eigenschaft auf das Steuerelement festlegen, um an eine System.Windows.Visibility-Eigenschaft im Code-Behind zu binden, aber es scheint nicht zu funktionieren.
Das ist mein XAML:
<Grid x:Name="actions" Visibility="{Binding Path=ActionsVisible, UpdateSourceTrigger=PropertyChanged}" />
Dies ist der Code für die Eigenschaft:
private Visibility _actionsVisible;
public Visibility ActionsVisible
{
get
{
return _actionsVisible;
}
set
{
_actionsVisible = value;
}
}
Im Konstruktor des Fensters, ich habe auch diesen Aufruf:
base.DataContext = this;
Wenn ich ActionsVisible oder this.actions.Visibility aktualisiere, wird der Status nicht übertragen. Irgendwelche Ideen, was schief gehen könnte?
Sie müssen alle Steuerelemente auf dem Thread zugreifen, auf dem sie erstellt wurden. Sie können Steuerelemente aus anderen Threads aktualisieren, aber Sie müssen das Update über den UI-Thread mit dem WPF-Dispatcher bereitstellen. Dieser [Artikel] (http://msdn.microsoft.com/en-us/magazine/cc163328.aspx) sollte helfen. –