【发布时间】:2013-04-24 13:48:24
【问题描述】:
我正在尝试将名为 Analysis 的用户控件动态分配给 2 个选项卡项。但是,两个选项卡项具有不同的结构,因此我有 2 个分配函数,通过将不同的数据传递给同一个用户控件来填充两个选项卡项。
<TabItem Header="Ambiguities" Style="{DynamicResource AnalysisTabItem}" >
<AnalysisControls:Analysis ></AnalysisControls:Analysis>
</TabItem>
<TabItem x:Name="tcer" Style="{DynamicResource AnalysisTabItem}" MouseLeftButtonDown="TCERLOAD" >
<TabItem.Header >
<Button Click="TCERLOADButton_Click">
<Button.Template>
<ControlTemplate>
<Label>TCER</Label>
</ControlTemplate>
</Button.Template>
</Button>
</TabItem.Header>
<AnalysisControls:Analysis></AnalysisControls:Analysis>
</TabItem>
</TabControl>
现在我希望在按钮单击事件上填充第二个 tabitem。所以这就是我用来分配它的东西。第一个 Tabitem 在初始化时自动填充。
private void TCERLOADButton_Click(object sender, RoutedEventArgs e)
{
AnalysisViewModel a1 = new AnalysisViewModel();
tcer.DataContext = a1.GetInstance1();
}
但是它没有给我必要的结果。请帮助解决这个问题。
【问题讨论】:
-
我不太确定你想在这里做什么。听起来您想在 UI 的两个不同位置显示完全相同的 UserControl 实例,这是不可能的。您可以在单个位置显示 UserControl 的相同实例并使用
ContentTemplate之类的内容切换它的显示方式,或者您可以显示 UserControl 的两个副本并让它们共享相同的DataContext(数据层)坐在它后面。
标签: .net wpf c#-4.0 data-binding