Как создать новый экземпляр конвертера каждый раз, когда изменяется значение свойства Dependency - PullRequest
0 голосов
/ 11 ноября 2011

В моем приложении 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 изменяется на новоедолжен быть создан конвертер, который должен использоваться для преобразования значений для всех меток.

Итак, вопрос в том, как я могу создавать новый экземпляр XAxisLabelTextConverter каждый раз, когда изменяется значение свойства MinX Dependency?

...