簡體   English   中英

WPF動態綁定一個控件屬性到另一個控件屬性

[英]WPF dynamic binding of a control property to another control property

我有一個問題-我很高興為應用程序編寫了一個快速的小功能,這是一個簡單的比較輸出窗口。 基本上,用戶單擊一個按鈕,然后生成一個包含兩列數據的數據網格的窗口。

一切都很好,一個方法中包含了五分鍾的代碼,沒有不必要的引用。 我遇到的唯一問題是當我想向該窗口添加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或屬性的原因。

歡呼聲Bartek

嘗試的另一種方法(在注釋的代碼中):

   checkbox.SetBinding(CheckBox.IsCheckedProperty, new Binding("Topmost") { Source = win });

在實例化您的win變量之后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM