我想创建一个视图,该视图具有一组选项卡(每个,基本上是一个ContentControl
),每个选项卡都有各种设置。然后我想要一个按钮来更新所有数据绑定,而不是立即更新或让更新按钮与控件本身相关联
所以,我的控件是 MEF 导出为 aResourceDictionary
并且类似于下面
<ResourceDictionary ...>
<DataTemplate DataType="{x:Type vm:AdminViewModel}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TabControl Grid.Row="0">
<TabItem Header="Tests">
<ContentControl Content="{Binding ResultStorage}"/>
</TabItem>
</TabControl>
<StackPanel Grid.Row="1" Orientation="Horizontal">
<Button Content="Update"/>
<Button Content="Cancel"/>
</StackPanel>
</Grid>
</DataTemplate>
</ResourceDictionary>
TestStorage 会是这样的:
<ResourceDictionary ...>
<DataTemplate DataType="{x:Type data:XmlResultStorage}">
<StackPanel>
<TextBlock Text="Result File Path:"/>
<TextBox Text="{Binding Path=ResultPath, Source={x:Static properties:DataStorage.Default}, UpdateSourceTrigger=Explicit}"/>
<TextBlock Text="Result File Location:"/>
<TextBox Text="{Binding Path=ResultFilename, Source={x:Static properties:DataStorage.Default}, UpdateSourceTrigger=Explicit}"/>
</StackPanel>
</DataTemplate>
我想要做的是当按下更新按钮以某种方式调用更新(UpdateSource
?)时,ContentControl
但我不知道该怎么做。
在一个理想的世界里,我不会有代码隐藏并通过 MVVM 或其他东西来完成这一切,但如果这不可能,代码隐藏就可以了。
所以我有两个问题,如何通过 a 手动更新数据绑定,ResourceDictionary
然后如何使其通过其子级级联ContentControls
?