如何通过样式来处理根据自身其他属性内容赋值其他属性值的方法研究

最近项目有个需求,就是在GridControl中显示的文本不能有回车换行,而在ToolTip中则要显示相应的格式 

因为某些原因不能在数据源处理 因此只好另辟蹊径 废话不多说了 上代码再说

<Style x:key='AAA' TargetType="TextBox">
    <Style.Triggers>
        <Trigger Property="IsReadOnly" value="True">
            <Setter Property="Text" Value="{Binding RelativeSource={RelativeSource Self},Path=ToolTip,Converter={StaticResource rc}}"/>
        </Trigger>
    </Style.Triggers>
</Style>

这里面采用了触发器 当控件为readonly时 根据Tooltip内容显示Text内容

置于转换器我就不上代码了 根据需求去处理就好 下面写一下GridControl中绑定CellTemplte的问题

我这里面用了DEV的GridControl 估计没啥区别 上代码再说

<dxg:GridConlum.CellTemplate>
    <DataTemplate>
        <textBox IsReadOnly = "True" ToolTip="{Binding RowData.Row.字段名,Mode=OneWay}" Style="{StaticResource AAA}"/>
    </DataTemplate>
<dxg:GridConlum.CellTemplate>

不得不说这里面有些东西知道了很简单不知道很烦 比如说这里面的RowData.Row.字段名 这种绑定如果不知道真的会气死人

好了 基本上原理就是利用样式的触发器和数据转换器 将自身的属性作为转换器参数 将要设定的属性写在样式Setter中 

希望对各位小伙伴们有所帮助吧

posted @ 2016-03-29 14:46  我丫的是条鱼  Views(309)  Comments(0Edit  收藏  举报