Bu sorunun veya türevinin bazilyon süreleri sorulduğundan eminim, ancak sorunu çözmemde yardımcı olan hiçbir şey bulamadım, bu yüzden soruyorum. Lütfen emin olduğum kopyaları bana yönlendirmekten çekinmeyin, ancak bulamıyorum. Anlaşılan anahtar kelimelerle o kadar da iyi değilim.WPF Özel Kontrol Şablonu Uygulanmadı
Özel Kontrolüm var, yalnızca kontrol şablonunu tanımlamak için kullanılan kendi Kaynak Sözlüğüne sahiptir. Bu sözlük daha sonra Generic.xaml içine birleştirilir. Sorun şu ki, bu kontrol UI'de gösterildiğinde, içinde hiçbir şey yoktur. Bunu bulmak için Snoop kullanmıştım. Kontrol kullanıcı arayüzünde, ancak tamamen boş.
Aşağıda, sorunun sorumlu olduğunu düşündüğüm öğeleri bulacaksınız. Sunduğunuz herhangi bir yardım veya tavsiye büyük beğeni topluyor.
benim klasör yapısı ilgili kısımları şu şekildedir:
BasicTemplate.xaml:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WPFSpecBuilder.Layouts.Templates">
<Style TargetType="{x:Type local:BasicTemplate}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:BasicTemplate}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<TextBlock Text="This is a basic template." />
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
Generic.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Layouts/Templates/XAML/BasicTemplate.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Ben dışlama ilkesine göre öne çıkaracağı: Önce stil tanımı bir parçası DEĞİLDİR olduğunu iddia sorun. Yani, iç içe ResourceDictionary'ınızdan çıkarın ve Generic.xaml (App.xaml dosyasında referans vermenizi umarım) 'a yapıştırın. Bundan sonra istenen etki gösterilir, Steve'in önerdiği şeyi deneyin (göreli yolunuzun doğru olarak ayarlandığını doğrulayın) –