【发布时间】:2015-07-09 19:46:03
【问题描述】:
我正在首次涉足 WPF 和 MVVM。我需要一个充当伪对话框的用户控件 - 它在它所在的应用程序部分(选项卡)上“对话”,但仍允许用户切换到应用程序的其他区域。
我正在尝试通过我的TabDialog UserControl 来完成此操作。目前它看起来像:
<Grid
Visibility="{Binding ShowAvailable, Converter={StaticResource BoolToVis}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel
Grid.Row="0"
Grid.Column="0"
Grid.RowSpan="3"
Grid.ColumnSpan="3"
Background="black"
Opacity=".5"
/>
<Label Background="Red"
Grid.Row="1"
Grid.Column="1"
Content="{Binding ShowAvailable}"></Label>
</Grid>
其中ShowAvailable 是父级DataContext 上的Bool,并在此控件中继承。
我现在的问题是,因为我想将此控件重新用于不同的“对话”视图,所以我想传递它应该显示的视图(将替换 Label)。如何将父 ViewModel 定义的用户控件发送到此视图并显示它?
感谢您的指导。
【问题讨论】: