WPF c#如何添加一个用户控件面板的动态,从UC到面板的气泡/隧道
问题描述:
我已经创建了一个usercontrol(命名为UCDataGrid
),我想在运行时添加到我的主窗口。WPF c#如何添加一个用户控件面板的动态,从UC到面板的气泡/隧道
在MainWindow.xaml.cs:
private void GetAnotherUserControl(string sUCName)
{
var UC_Grid = new UCDataGrid();
...
// Add to 'PositioningGrid' Grid Layout
PositioningGrid.Children.Add(UC_Grid);
// Register UC_Grid Name
PositioningGrid.RegisterName(sUCName, UC_Grid);
...
}
在MainWindow.XAML [结构]:
Grid (named “TopGrid”) -> Grid (named “PostioningGrid”)
的PositioningGrid
将保持儿童控制/用户控件我开发其将被动态地添加在运行时取决于业务规则。
通过以这种方式添加我的用户控件,当我点击动态添加的用户控件中的复选框时,如何进行冒泡/隧道操作?
我想单击我的usercontrol(UCDataGrid
)中的复选框并从我的MainWindow运行代码。
我已经尝试了几种方法,但想知道是否有某种方式通知我的MainWindow用户已经点击了复选框。
答
的窗口句柄CheckBox.Checked
路由事件:
<Window x:Class="WpfApplication1.Window1"
...
Title="Window7" Height="300" Width="300" CheckBox.Checked="Window_Checked">
或者:
this.AddHandler(CheckBox.CheckedEvent, new RoutedEventHandler(Window_Checked));
的Checked
事件会冒泡从CheckBox
父窗口。