Dazu benötigen Sie eine Abhängigkeitseigenschaft:
public BindingList<User> Users
{
get { return (BindingList<User>)GetValue(UsersProperty); }
set { SetValue(UsersProperty, value); }
}
public static readonly DependencyProperty UsersProperty =
DependencyProperty.Register("Users", typeof(BindingList<User>),
typeof(OptionsDialog));
Sobald dies erledigt ist, binden Sie das Kontrollkästchen an die Abhängigkeitseigenschaft:
<CheckBox x:Name="myCheckBox"
IsChecked="{Binding ElementName=window1, Path=CheckBoxIsChecked}" />
Damit dies funktioniert, müssen Sie Ihr Fenster oder UserControl in seinem Öffnungs-Tag benennen und diesen Namen im Parameter ElementName verwenden.
Mit diesem Code ändern Sie jedes Mal, wenn Sie die Eigenschaft auf der Codeseite ändern, das Textfeld. Wenn Sie das Textfeld aktivieren / deaktivieren, ändert sich auch die Abhängigkeitseigenschaft.
BEARBEITEN:
Eine einfache Möglichkeit, eine Abhängigkeitseigenschaft zu erstellen, besteht darin, das Snippet propdp einzugeben, mit dem Sie den allgemeinen Code für die Abhängigkeitseigenschaften erhalten.
Der ganze Code:
XAML:
<Window x:Class="StackOverflowTests.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" x:Name="window1" Height="300" Width="300">
<Grid>
<StackPanel Orientation="Vertical">
<CheckBox Margin="10"
x:Name="myCheckBox"
IsChecked="{Binding ElementName=window1, Path=IsCheckBoxChecked}">
Bound CheckBox
</CheckBox>
<Label Content="{Binding ElementName=window1, Path=IsCheckBoxChecked}"
ContentStringFormat="Is checkbox checked? {0}" />
</StackPanel>
</Grid>
</Window>
C #:
using System.Windows;
namespace StackOverflowTests
{
public partial class Window1 : Window
{
public bool IsCheckBoxChecked
{
get { return (bool)GetValue(IsCheckBoxCheckedProperty); }
set { SetValue(IsCheckBoxCheckedProperty, value); }
}
public static readonly DependencyProperty IsCheckBoxCheckedProperty =
DependencyProperty.Register("IsCheckBoxChecked", typeof(bool),
typeof(Window1), new UIPropertyMetadata(false));
public Window1()
{
InitializeComponent();
}
}
}
Beachten Sie, dass der einzige Code dahinter die Abhängigkeitseigenschaft ist. Sowohl das Etikett als auch das Kontrollkästchen sind daran gebunden. Wenn sich das Kontrollkästchen ändert, ändert sich auch die Beschriftung.