对于此处出现的问题感到困惑,我收到的错误是local:NumericValue does not exist in the namespace "clr-namespace:Controls
以下
<local:NumericValue x:Key="NumericValue" />
在此行中获取The member "Template" is not recognized or is not accessible
:
<Setter Property="Template">
我无法弄清楚为什么,我试图将Assembly=Controls
添加到ResourceDictionary标记中的local
属性的末尾,并且我点击了Clean Solution
和{{1多次,如果它是一个构建错误但仍然遇到同样的问题!
这是代码; XAML - Themes / Generic.xaml
Rebuild Solution
代码背后 - NumericUpDown
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Controls">
<local:NumericValue x:Key="NumericValue" />
<Style TargetType="{x:Type local:NumericUpDown}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:NumericUpDown}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Column="0">
<Button.Content>
<Path Data="M0,0 L1,0 0.5,1Z"
Width="20"
Height="20"
Fill="White"
Stretch="Fill"/>
</Button.Content>
</Button>
<TextBox Grid.Column="1" Text="{Binding Source={StaticResource NumericUpDown},Path=value}" />
<Button Grid.Column="2">
<Button.Content>
<Path Data="M0,1 L1,1 0.5,0Z"
Width="20"
Height="20"
Fill="White"
Stretch="Fill" />
</Button.Content>
</Button>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
答案 0 :(得分:1)
不确定为什么NumericValue
无法识别,但关于其他错误:
成员“模板”无法识别或无法访问
这是因为您的自定义控件继承自FrameworkElement
,但Template
类中定义了Control
。只需更改NumericUpDown类,使其继承Control
。