4im*_*ble 5 wpf xaml user-controls styles
我有一个文本块的样式,在我的app.xaml中设置,然后通过我的应用程序应用于textblocked并且工作正常.
但是我收到一个错误:"无法创建类型的实例"如果我将此样式应用于我的用户控件中的文本块,为什么这是一个问题?
<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>
Run Code Online (Sandbox Code Playgroud)
谢谢,Kohan
- App.Xaml代码 -
<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>
Run Code Online (Sandbox Code Playgroud)
- CascadingStyles.Xaml -
<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>
Run Code Online (Sandbox Code Playgroud)
Mua*_*Dib 10
基本上,它无法找到,StaticResource因为它不在您的用户控件的文件中.UserControl.xaml对App.xaml一无所知.
您应该使用DynamicResource它,这样它将在运行时应用.
| 归档时间: |
|
| 查看次数: |
6508 次 |
| 最近记录: |