我用谷歌搜索了所有我能找到的东西,但找不到我要找的东西。我有几个问题...
这是我的代码结构:
我的命令类:
public class BrowseCommand : ICommand
{
//Code here
}
内部视图模型:
public class ExampleViewModel
{
public ExampleViewModel()
{
BrowseCommand = new BrowseCommand();
}
public ICommand BrowseCommand
{
get;
private set;
}
//More Code...
}
MainWindow.xaml.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new ExampleViewModel();
}
}
MainWindow.xaml:
Window x:Class="Ship32RcParser.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" >
<Grid>
<Button Content="Browse" Command="{Binding BrowseCommand}"/>
<Button Content="Search" Command="{Binding I_NEED_HELP_HERE}" />
</Grid>
</Window>
我知道我的浏览器工作正常,因为 MainWindow.xaml.cs 有
DataContext = new ExampleViewModel();
但是我不喜欢那样
- 我不想在 .cs 文件中有任何内容
- 我如何拥有多个数据上下文 - 意思是如果我想从不同的 ViewModel 类中获得命令......我知道它可能但它会有点难看......
当我在寻找解决方案时,我遇到了依赖项。例如我可以在我的 xaml 文件中做这样的事情
xmlns:local="clr-namespace:myMvvMwpfProj.ViewModel"
然后使用“本地”。然而,当我尝试它并没有像我预期的那样工作......我还看到了类似的东西
xmlns:local="using:myMvvMwpfProj.Command"
有人也可以解释一下吗?“本地”是否让我可以访问课程?如果我有 CommandA、CommandB、CommandC 类。我应该能够做 local:CommandA.ExecuteFoo 吗?
我想最大的问题是我如何引用/访问来自不同对象的属性。在 Xaml 中
谢谢大家