我需要一些帮助,我希望你能帮助我。我有一个复杂的用户控件,其方法可以更改内部所有元素的颜色。当我尝试将它与 MainWindow-Code-behind 中的方法存根连接时,我可以轻松启动它。我想在将来使用 MVVM,所以现在我想通过命令将它连接到主窗口中的按钮。
所以这是我的 ViewModel 和 MainWindow.cs
public class ViewModel
{
public DelegateCommands TestCommand { get; private set; }
public ViewModel()
{
TestCommand = new DelegateCommands(OnExecute, CanExecute);
}
bool CanExecute(object parameter)
{
return true;
}
void OnExecute()
{
//testUC.NewColor(); HERE I WANT TO START THE UC-METHOD
}
}
public partial class MainWindow : Window
{
ViewModel _ViewModel = null;
public plate tplate;
public MainWindow()
{
InitializeComponent();
_ViewModel = new ViewModel();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
tplate = new plate();
}
}
在我的 MainWindow-View 上,我有一个简单的按钮和用户控件。
<exte:plate x:Name="testUC" Grid.Column="1"/>
<Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="43,247,0,0" Command="{Binding TestCommand}"/>
我想在 OnExecute()-Method 中启动 UC-Method,但我无法选择“testUC”,因为它在此上下文中不可用。
有没有一种简单的方法可以通过命令绑定来启动 UC-Methods?
谢谢你的帮助。
蒂莫