Bạn cần một thuộc tính phụ thuộc cho việc này:
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));
Sau khi hoàn tất, bạn liên kết hộp kiểm với thuộc tính phụ thuộc:
<CheckBox x:Name="myCheckBox"
IsChecked="{Binding ElementName=window1, Path=CheckBoxIsChecked}" />
Để điều đó hoạt động, bạn phải đặt tên Window hoặc UserControl của mình trong thẻ mở của nó và sử dụng tên đó trong tham số ElementName.
Với mã này, bất cứ khi nào bạn thay đổi thuộc tính ở phía mã, bạn sẽ thay đổi hộp văn bản. Ngoài ra, bất cứ khi nào bạn chọn / bỏ chọn hộp văn bản, Thuộc tính Phụ thuộc cũng sẽ thay đổi.
BIÊN TẬP:
Một cách dễ dàng để tạo thuộc tính phụ thuộc là nhập đoạn mã propdp, đoạn mã này sẽ cung cấp cho bạn mã chung cho Thuộc tính phụ thuộc.
Tất cả các mã:
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();
}
}
}
Lưu ý rằng mã duy nhất phía sau là Thuộc tính Phụ thuộc. Cả nhãn và hộp kiểm đều bị ràng buộc với nó. Nếu hộp kiểm thay đổi, nhãn cũng thay đổi.