[英]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.