怎么写一个控件的样式,绑定到自己的某个项目上
如何写一个控件的样式,绑定到自己的某个项目上
我想写一个Button的样式
如下:
<Button x:Name="test" Width="60" Height="50" Padding="0,27,0,0" >
<Button.Content>
<TextBlock FontSize="50" Foreground="Red" Text="测试"></TextBlock>
</Button.Content>
</Button>
我想写一个样式,需要将内部的 TextBlock的数据,引用外面的Button的Text,或者是增加一个静态的数据,能够绑定到外围
目前我能写到样式如下:
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<Setter Property="Content">
<Setter.Value>
<TextBlock FontSize="20" Foreground="Red" Text=“{Binding xxxx}”></TextBlock>// 这个地方怎么才能绑定到外围控件中的content的数值?
</Setter.Value>
</Setter>
</Style>
引用 :
<Button Name="button2" Content="测试" Style="{DynamicResource btnStyle}" />
我希望这个地方能有一个属性或者是值(不要用Tag属性,有用:P)
类似这样,
<Button Name="button2" xxxx="测试" Style="{DynamicResource btnStyle}" />
或者是
<Button Name="button2" Style="{DynamicResource btnStyle xxx=测试 }" />
能够将xxx的值传递到Style里面
当然我选择的这个例子不是特别的恰当,意思都差不多!
------解决方案--------------------
<Style x:Key="btnstyle" TargetType="Button">
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="FontSize" Value="36"></Setter>
<Setter Property="Cursor" Value="Hand"></Setter>
<Setter Property="Content" >
<Setter.Value>
<TextBlock Text="{Binding Path=Button.Content}"></TextBlock>
</Setter.Value>
</Setter>
</Style>
------解决方案--------------------
绑定自身应该是用 RelativeSource={RelativeSource Self} 吧
我想写一个Button的样式
如下:
<Button x:Name="test" Width="60" Height="50" Padding="0,27,0,0" >
<Button.Content>
<TextBlock FontSize="50" Foreground="Red" Text="测试"></TextBlock>
</Button.Content>
</Button>
我想写一个样式,需要将内部的 TextBlock的数据,引用外面的Button的Text,或者是增加一个静态的数据,能够绑定到外围
目前我能写到样式如下:
<Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
<Setter Property="Content">
<Setter.Value>
<TextBlock FontSize="20" Foreground="Red" Text=“{Binding xxxx}”></TextBlock>// 这个地方怎么才能绑定到外围控件中的content的数值?
</Setter.Value>
</Setter>
</Style>
引用 :
<Button Name="button2" Content="测试" Style="{DynamicResource btnStyle}" />
我希望这个地方能有一个属性或者是值(不要用Tag属性,有用:P)
类似这样,
<Button Name="button2" xxxx="测试" Style="{DynamicResource btnStyle}" />
或者是
<Button Name="button2" Style="{DynamicResource btnStyle xxx=测试 }" />
能够将xxx的值传递到Style里面
当然我选择的这个例子不是特别的恰当,意思都差不多!
------解决方案--------------------
<Style x:Key="btnstyle" TargetType="Button">
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="FontSize" Value="36"></Setter>
<Setter Property="Cursor" Value="Hand"></Setter>
<Setter Property="Content" >
<Setter.Value>
<TextBlock Text="{Binding Path=Button.Content}"></TextBlock>
</Setter.Value>
</Setter>
</Style>
------解决方案--------------------
绑定自身应该是用 RelativeSource={RelativeSource Self} 吧