asu*_*rey 2 wpf mvvm wpf-controls caliburn.micro c#-4.0
我无法将ViewModel列表作为项绑定到选项卡控件.
//ShellViewModel.cs
private BindableCollection<RecentUnitViewModel> RecentUnitModels { get; set; }
Run Code Online (Sandbox Code Playgroud)
<!-- ShellView.xaml -->
<GroupBox FontSize="16" Margin="10" FontWeight="DemiBold" Grid.Row="3">
<GroupBox.Header>Last Seen</GroupBox.Header>
<TabControl ItemsSource="{Binding RecentUnitModels}" >
</TabControl>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)
意外结果:显示"RecentUnitViewModel"类型而不是View.
如果您有按惯例绑定的Conductor,则最简单的TabControl Caliburn绑定(将DataContext设置为Conductor实例并将TabControl命名为"Items".)此处的问题是TabControl实例化共享的单个内容呈现器通过所有选项卡,但您需要以某种方式告诉Caliburn.Micro在更改内容时找到ViewModel的View.我发现这很好用:
<TabControl.ContentTemplate>
<DataTemplate>
<ContentControl cal:View.Model="{Binding}"/>
</DataTemplate>
</TabControl.ContentTemplate>
Run Code Online (Sandbox Code Playgroud)
我在这里假设您绑定的ViewModels是真正的ViewModels(而不是UserControls),并且您有Caliburn.Micro为您绑定的单独视图(UserControls).
| 归档时间: |
|
| 查看次数: |
2271 次 |
| 最近记录: |