附加屬性我試圖延長文本框默認樣式 https://msdn.microsoft.com/en-us/library/windows/apps/mt299154.aspxUWP在ControlTemplate中
我喜歡對子級有圓形的文本框的角落。
<Border
x:Name="BackgroundElement"
Grid.Row="1"
Background="{TemplateBinding Background}"
Margin="{TemplateBinding BorderThickness}"
CornerRadius="{Binding Source={RelativeSource TemplatedParent}, Path=(icp:IcpExtend.CornerRadius)}"
Opacity="{ThemeResource TextControlBackgroundRestOpacity}"
Grid.ColumnSpan="2"
Grid.Column="0" />
<Border
x:Name="BorderElement"
Grid.Column="0"
Grid.Row="1"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{Binding Source={RelativeSource TemplatedParent}, Path=(icp:IcpExtend.CornerRadius)}"
Grid.ColumnSpan="2" />
下面是附加屬性類
[Bindable]
public class IcpExtend
{
public static readonly DependencyProperty CornerRadiusProperty = DependencyProperty.RegisterAttached(
"CornerRadius", typeof(CornerRadius), typeof(IcpExtend), new PropertyMetadata(default(CornerRadius)));
public static void SetCornerRadius(DependencyObject element, CornerRadius value)
{
element.SetValue(CornerRadiusProperty, value);
}
public static CornerRadius GetCornerRadius(DependencyObject element)
{
return (CornerRadius) element.GetValue(CornerRadiusProperty);
}
}
這是
<TextBox
icp:IcpExtend.CornerRadius="10"
Grid.Row="0"
Grid.Column="1"
PlaceholderText="Email"
InputScope="EmailSmtpAddress"
IsSpellCheckEnabled="False"
Text="{Binding Path=Email, Mode=TwoWay}" />
的解決方案是不工作(角不四捨五入)頁面上的文本框元素...如何綁定到默認樣式 - > ControlTemplate?中的附加屬性
我已經花了8小時在這....噸。昨晚常量有效,但綁定不是(TemplateBinding和Binding Source = {RelativeSource TemplatedParent})現在我再次運行VS - 我上面的示例沒有工作,但CornerRadius =「{TemplateBinding icp:IcpExtend.CornerRadius}」開始工作(這是我試圖找到其他東西之前我的第一種綁定類型)。 –