1

wpfで2つのタブ項目がデータグリッドを共有する方法はありますか. 例:

<TabControl x:Name="tbMain">
<TabItem x:Name="tab1" />
<TabItem x:Name="tab2" />
</TabControl>

だから私が意味するのは、タブ1とタブ2は同じデータグリッドを持つことができますか?値が異なるだけですか?

4

3 に答える 3

2

TabItemは でありContentControl、一度に 2 つのコンテナーで同じコントロールを使用することはできません。

DataGridただし、空の TabItems と、その下および外側に固執することができますTabControl。ボーダーのスタイルを少し変更することで、DataGrid が同じコントロールの一部であるように見せることができます。その後、 の現在の にDataSource基づいてグリッドの を変更できます。SelectedItemTabControl

于 2013-10-10T14:36:20.127 に答える
0

WPFsame control cannot be child of different parentで同時にそれが必要な理由がわかりません。ただし、一度だけ定義してそれを使用したい場合は、 aをDataGrid定義することで達成できます。ContentTemplateTabControl

<DataTemplate x:Key="contentTemplate">
  <Grid>
    <DataGrid ItemsSource="{Binding MyItemsSource}"/>
  </Grid>
</DataTemplate>

<TabControl Width="250" Height="300" 
            ContentTemplate="{StaticResource contentTemplate}">

ここで「contentTemplate」は、ContentTemplate が定義されていないものDataTemplateに適用されます。TabItem

ここで覚えてTabItem Contentおくべきことは、 を設定する必要があり、 Content には、 として機能する Collection プロパティが含まれている必要があるということItemsSourceですDataGrid

于 2013-10-10T14:40:55.190 に答える
0

いいえ、2 つのコンテナーで同じコントロールを使用することはできませんが、単純に 2 つのコントロールを同じデータソースにバインドしないのはなぜですか? 次に、ビューモデルで、現在選択されているアイテムが変更されたときなど...それを他のコントロールにミラーリングします。

于 2013-10-10T15:01:17.087 に答える