Benim app.xaml içinde ayarlanmış bir textblock için bir stil var, bu daha sonra benim app aracılığıyla textblocked uygulanır ve iyi çalışıyor.App.xaml stili, Usercontrol'de nasıl kullanılamaz?
Ancak bir hata alıyorum: "Bu stili, kullanıcı denetimimin içindeki bir metin bloğuna uygularsam," bu tür bir sorun nasıl olur? "
<UserControl x:Class="Client.Usercontrols.MyButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" MinHeight="30" MinWidth="40"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Button Width="Auto" HorizontalAlignment="Center">
<Border CornerRadius="5" BorderThickness="1" BorderBrush="Transparent" >
<Grid>
<Image Name="tehImage" Source="{Binding ImageSource}" />
<TextBlock Name="tehText" Text="{Binding Text}"
Style="{StaticResource ButtonText}" /> <-- This causes error
</Grid>
</Border>
</Button>
sayesinde Kohan
- App.xaml Kodu -
<Application x:Class="Client.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Mainpage.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/CascadingStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
- CascadingStyles.Xaml - Temelde
<Style TargetType="{x:Type TextBlock}" x:Key="ButtonText" >
<Setter Property="FontSize" Value="10" />
<Setter Property="VerticalAlignment" Value="Bottom" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="FontFamily" Value="Lucida Sans Unicode" />
<Setter Property="Foreground" Value="#0F004E" />
</Style>
Önerilen şekilde DynamicResource olarak değiştirdim ve çalışır, ayrıca stili olarak ayarladığımda da çalışır. Niçin ilgisi yok, App.Config'ın kapsamı nasıl olur? bir UserControl ulaşmaz, ancak herhangi bir sayfa veya pencerede tüm kontrollere ulaşır? –
4imble
temel olarak, bir UserControl'ü bağımsız bir varlık olarak düşünmelisiniz. Örneğin, farklı bir mecrada yaşayabilir. Bir Özel Kontrol aynı şekilde çalışır. Sadece onlara ne söylediğini biliyorlar. İdeal olarak, stillerinizi bir ResourceDicationary içine koyarsınız ve onlara ihtiyacınız olan yerlere (App.xaml, kullanıcı kontrolünüz vb.) Dahil olursunuz. Bu, malzemelerinizi "cildi" veya "teması" kolaylaştırır - sadece kaynağı değiştirir sözlükleri. –
Ahh, tamam. Mantıklı. Teşekkürler – 4imble