簡體   English   中英

如何將DynamicResource與TreeView一起使用,以便可以使用同一鍵獲得2個TreeViews

[英]How do I use DynamicResource with TreeView so that I can have 2 TreeViews using the same key

我已經使用列表視圖完成了此操作,因為我可以定義資源:

<UserControl.Resources>
    <GridView x:Key="MyGrid" x:Shared="False">
        <!-- Defines what's in the grid view -->
    </GridView>
</UserControl.Resources>

然后,我可以使用相同的網格獲得兩個視圖:

<ListView View="{DynamicResource MyGrid}" ItemsSource="{Binding Path=TodaysItems}"/>
<ListView View="{DynamicResource MyGrid}" ItemsSource="{Binding Path=TomorrowsItems}"/>

我正在嘗試使用TreeViews做同樣的事情。 我已經定義了樹形視圖:

<UserControl.Resources>
    <TreeView x:Key="MyTreeView" x:Shared="False">
        <!-- Defines what's in the Tree view -->
    </TreeView>
</UserControl.Resources>

但是我找不到我需要做的

<TreeView ???="{DynamicResource MyTreeView}" ItemsSource="{Binding Path=ClientData}"/>
<TreeView ???="{DynamicResource MyTreeView}" ItemsSource="{Binding Path=CustomerData}"/>

我什至可以這樣做嗎?

您不能使用TreeView做到這一點。 之所以可以使用ListView這樣做,是因為它具有可以設置為其他視圖的View屬性。 在這種情況下,視圖不是獨立的UI元素-只是說ListView “設置”。 TreeView是UI元素,就像ListView一樣。

在XAML中重用的命令方法是樣式。 您可以為TreeView定義樣式,在其中可以定義通用屬性,然后將其應用於任意多個元素。

這是一個示例,您可以定義樣式:

<Style x:Key="MyTreeStyle"
       TargetType="{x:Type TreeView}">
    <Setter Property="Background"
            Value="Red"/>
    <!-- Other property setters go here -->
</Style>

這是您如何應用它:

<TreeView Style="{StaticResource MyTreeStyle}" ItemsSource="{Binding Path=ClientData}"/>
<TreeView Style="{StaticResource MyTreeStyle}" ItemsSource="{Binding Path=CustomerData}"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM