簡體   English   中英

WPF:將用戶控制命令路由到主窗口

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

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