每次更改Dependency属性值时如何创建新的转换器实例

时间:2011-11-11 06:05:41

标签: .net wpf xaml dependency-properties

在我的silverlight应用程序中,我有一个图表控件,它具有Dependency属性,例如MinX。

每次更改 MinX 的值时,都会重新绘制图表,因此会重新绘制轴和标签。我有一个自定义转换器 XAxisLabelTextConverter 用于标签文本。默认转换器是共享的。如果我使用 x:shared =“false”使转换器非共享,则会为每个标签创建一个新的转换器实例。

<Controls:GOTControlFx x:Name="GOTControlFx"
                                         DataItemCollection="{Binding ChartItemCollection}"
                                         MaxX="{Binding XAxisMaxDateTimeOA}"
                                         MinX="{Binding XAxisMinDateTimeOA}">
        <Controls:GOTControlFx.View>
            <c1:ChartView>
                <c1:ChartView.AxisX>
                    <c1:Axis IsTime="True" AnnoFormat="HH:mm">
                        <c1:Axis.AnnoTemplate>
                            <DataTemplate>
                                <TextBlock  
                          Text="{Binding ConverterParameter={RelativeSource Self}, 
                          Converter={StaticResource XAxisLabelTextConverter}}" />
                            </DataTemplate>
                        </c1:Axis.AnnoTemplate>
                    </c1:Axis>
                </c1:ChartView.AxisX>
            </c1:ChartView>
        </Controls:GOTControlFx.View>
    </Controls:GOTControlFx>

我的要求是每次更改MinX值时都应创建一个新的转换器,并且该转换器应该用于转换所有标签的值。

所以,问题是每次更改MinX Dependency属性值时如何创建XAxisLabelTextConverter的新实例?

0 个答案:

没有答案