WPF动态绑定控件属性到另一个控件属性

时间:2015-08-13 17:32:38

标签: c# wpf xaml data-binding

我有一个问题 - 我正在快速编写一个应用程序的快速小功能,这是一个简单的比较输出窗口。 基本上,用户单击一个按钮,我生成一个窗口,其中包含两列数据的数据网格。

一切都很好,五分钟的代码生活在一个方法中,没有不必要的参考。我遇到的唯一问题是当我想在此窗口中添加TopMost复选框时。 如何将框的IsChecked属性绑定到窗口的TopMost属性?

        var checkbox = new CheckBox();
        checkbox.Name = "cb";
        checkbox.Content = "Top most";


        var grid = new DataGrid();
        grid.ItemsSource = wcList;
        grid.Margin = new Thickness(5);

        var panel = new StackPanel();
        panel.Children.Add(checkbox);
        panel.Children.Add(grid);

        var win = new Window();

        //Binding b = new Binding("cb");
        //b.Mode = BindingMode.TwoWay;
        //b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;

        //win.SetBinding(Window.TopmostProperty, b);

        win.Title = "WordCount comparison";
        win.Content = panel;
        win.SizeToContent = SizeToContent.WidthAndHeight;
        win.Icon = this.Icon;

        win.Show();

这应该是一个5分钟的一次性方法,这就是为什么我不想在代码中添加任何xaml或属性。

干杯 鲍尔泰克

1 个答案:

答案 0 :(得分:1)

您尝试的另一种方式(在评论代码中):

   checkbox.SetBinding(CheckBox.IsCheckedProperty, new Binding("Topmost") { Source = win });
在你实例化你的win变量之后