[英]WPF: Routing usercontrol command to Mainwindow
我必須承認,我在理解wpf的工作方式時遇到了問題。 我的Mainwindow中嵌套了一個usercontrol BottomControl 。 如果單擊BottomControl中的按鈕,我希望在Mainwindow中進行某些更改(例如,更改文本框的內容)。
顯然,簡單的事情就是在Click_Event中調用一個公共過程,但這並不十分優雅。 我可以使用RoutedCommands。
public static readonly RoutedCommand BottomGridReSize = new RoutedCommand();
在Usercontrol的XAML中
<Button Style="{StaticResource TransparentButton}" Command="{x:Static local:Commands.BottomGridReSize}" >
在MainWindow的代碼中
void BottomGridReSize_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
void BottomGridReSize_Executed(object sender, ExecutedRoutedEventArgs e)
{
\\Do some stuff
}
顯然,Mainwindow無法使用這些事件,因為ist無法識別它們。 我想念什么?
任何幫助將不勝感激
喬恩
僅出於我的理解:您有一個帶有按鈕的BottomControl,單擊該按鈕時,主窗口中應該會發生某些事情。 所以為什么不簡單地在BottomControl中創建ICommand類型的DependencyProperty,並將其綁定到Button。 如果執行此操作,則只需將MainViewmodel的Command綁定到此DP。
<uc:BottomControl MyDPCommand="{Binding MyMainViewmodelCommand}" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.