在 xaml 我的用户控件上设置 'style' 将 TextBox 元素替换为字符串 'system.windows.style'
Setting 'style' on my user control in xaml replaces the TextBox element with a string 'system.windows.style'
我有一个非常基本的用户控件
<UserControl x:Class="Framework_Base.UserControls.NumberPicker"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Framework_Base.UserControls"
mc:Ignorable="d"
d:DesignHeight="21" d:DesignWidth="60">
<TextBox Name="ValueTextBox" Width="60"
PreviewTextInput="TextBox_PreviewTextInput"
TextChanged="ValueTextBox_TextChanged"
DataObject.Pasting="TextBox_Pasting" />
</UserControl>
当我将它添加到我的视图时它很好,工作正常等等
当我尝试添加这样的样式时:
<uc:NumberPicker Value="{Binding MyValue}" MinWidth="60">
<Style TargetType="{x:Type uc:NumberPicker}">
<Setter Property="Background" Value="Red"/>
</Style>
</uc:NumberPicker>
用户控件如下所示:
而且我真的不知道为什么,在 Google 搜索中找不到任何内容,而且很难知道在搜索中使用什么术语。
如有任何帮助,我们将不胜感激。
XAML声明
<uc:NumberPicker ...>
<Style TargetType="uc:NumberPicker">
<Setter Property="Background" Value="Red"/>
</Style>
</uc:NumberPicker>
没有设置控件的 Style
属性,而是它的 Content
属性(这是因为 ContentControl 中的 [System.Windows.Markup.ContentProperty("Content")]
声明class声明)。
要设置样式,您需要编写
<uc:NumberPicker ...>
<uc:NumberPicker.Style>
<Style TargetType="uc:NumberPicker">
<Setter Property="Background" Value="Red"/>
</Style>
</uc:NumberPicker.Style>
</uc:NumberPicker>
我有一个非常基本的用户控件
<UserControl x:Class="Framework_Base.UserControls.NumberPicker"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Framework_Base.UserControls"
mc:Ignorable="d"
d:DesignHeight="21" d:DesignWidth="60">
<TextBox Name="ValueTextBox" Width="60"
PreviewTextInput="TextBox_PreviewTextInput"
TextChanged="ValueTextBox_TextChanged"
DataObject.Pasting="TextBox_Pasting" />
</UserControl>
当我将它添加到我的视图时它很好,工作正常等等
当我尝试添加这样的样式时:
<uc:NumberPicker Value="{Binding MyValue}" MinWidth="60">
<Style TargetType="{x:Type uc:NumberPicker}">
<Setter Property="Background" Value="Red"/>
</Style>
</uc:NumberPicker>
用户控件如下所示:
而且我真的不知道为什么,在 Google 搜索中找不到任何内容,而且很难知道在搜索中使用什么术语。
如有任何帮助,我们将不胜感激。
XAML声明
<uc:NumberPicker ...>
<Style TargetType="uc:NumberPicker">
<Setter Property="Background" Value="Red"/>
</Style>
</uc:NumberPicker>
没有设置控件的 Style
属性,而是它的 Content
属性(这是因为 ContentControl 中的 [System.Windows.Markup.ContentProperty("Content")]
声明class声明)。
要设置样式,您需要编写
<uc:NumberPicker ...>
<uc:NumberPicker.Style>
<Style TargetType="uc:NumberPicker">
<Setter Property="Background" Value="Red"/>
</Style>
</uc:NumberPicker.Style>
</uc:NumberPicker>