我试图将一个整数绑定到ControlTemplate,但没有显示任何内容。下面是我的TextBlock
,它是我的ControlTemplate
的一部分:
<TextBlock FontSize="14"
Foreground="#000"
Text="{TemplateBinding Number}"/>
字符串
下面是我的依赖项属性,它是我的CustomControl的一部分:
public static readonly DependencyProperty NumberProperty = DependencyProperty.Register(nameof(Number), typeof(int), typeof(MyCustomControl), new PropertyMetadata(0));
public int Number
{
get => (int)GetValue(NumberProperty);
set => SetValue(NumberProperty, value);
}
型
我也试过了,但也不管用:
<TextBlock FontSize="14"
Foreground="#000"
Text="{Binding Number, RelativeSource={RelativeSource TemplatedParent}, TargetNullValue=''}"/>
型
如果我将其更改为string
,则可以工作??
1条答案
按热度按时间z9zf31ra1#
你必须使用一个转换器将int转换为字符串值。下面是这样的转换器的例子。
字符串
而不是
TemplatedBinding
在控制模板中,你应该使用这样的语句。型
还有一件事您必须在xaml中的某个地方定义转换器,以便能够将其用作
StaticResource
。型
更新
不需要转换器将整数值显示为文本。
型