Czy istnieje sposób na dodanie zasobu do ResourceDictionary z kodu bez podawania klucza zasobu?Tworzenie zasobu XAML z kodu bez klucza
Na przykład, mam tego zasobu w XAML:
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type xbap:FieldPropertyInfo}"
ItemsSource="{Binding Path=Value.Values}">
<TextBlock Text="{Binding Path=Name}" />
<HierarchicalDataTemplate>
</TreeView.Resources>
trzeba utworzyć ten zasób dynamicznie z kodu i dodać go do TreeView ResourceDictionary. Jednak w XAML bez klucza oznacza to, że jest on domyślnie używany dla wszystkich typów FieldPropertyInfo. Czy istnieje sposób dodania go do zasobu w kodzie bez klucza lub czy istnieje sposób, w jaki mogę użyć klucza i nadal używać go we wszystkich typach FieldPropertyInfo?
Oto, co robiłem w C# do tej pory:
HierarchicalDataTemplate fieldPropertyTemplate = new HierarchicalDataTemplate("FieldProperyInfo");
fieldPropertyTemplate.ItemsSource = new Binding("Value.Values");
this.Resources.Add(null, fieldPropertyTemplate);
Oczywiście, dodając zasób do ResourceDictionary klucz zerowy nie działa.
Chociaż to działa, szablon nie jest używany przez TreeView. Wygląda na to, że coś o kluczu Resource uniemożliwia jego użycie. –
@Orion: Widziałeś moją odpowiedź i całkowicie zredagowałeś swoją, by skopiować moją? Naprawdę elegancko ... –