如果没有定义DataTemplate,如何使用构造函数参数将View绑定到ViewModel?
我基本上试图将TreeView
控件绑定到其数据源。
<UserControl>
<TreeView
x:Name="StatusTree"
ItemContainerStyle="{StaticResource TreeViewItemStyle}"
ItemsSource="{Binding Status, Mode=OneTime}"
ItemTemplate="{StaticResource CheckBoxItemTemplate}"
/>
</UserControl>
public class BrowserNewViewModel : WorkspaceViewModel
{
public BrowserNewViewModel(string name)
{
this.DisplayName = name;
}
public List<TreeViewModel> Status
{ ... }
}
以下描述了我如何实例化ViewModel。我按照 Josh Smith的 MVVM article使用WorkspaceViewModel
界面。 TreeViewModel
为explained here。
void DisplayBrowser()
{
BrowserViewModel browserViewModel = new BrowserViewModel("Browser");
this.AddTab(browserViewModel);
}
This question描述了类似的情况,但答案对我不起作用,因为我没有UserControl
中MainWindow
的明确引用。
我知道我无法在MainWindow的DataTemplate
中定义Resources
,因为BrowserViewModel有一个带参数的构造函数。
还有其他解决方案需要使用框架。是否有简单的方法避免使用框架?