У меня есть настраиваемый элемент управления, основанный на RangeBase
. В контроле я отображая отформатированную версию Value
, как это:Принудительное обновление свойства из пользовательского элемента управления
<Label Content="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type local:NumericUpDownControl}}, Path=FormattedValue}" />
FormattedValue
выглядит следующим образом:
public string FormattedValue
{
get { return Value.ToString(_format); }
}
Все это, кажется, работает хорошо. Однако в управлении, есть кнопка, которая увеличивает значение Value
:
private void myButton_Click(object sender, RoutedEventArgs e)
{
Value += 0.5;
}
Проблема, что у меня есть, что FormattedValue никогда не обновляется. Я предполагаю, что мне нужно что-то похожее на RaisePropertyChanged
, но изнутри элемента управления. Я попытался добавить фиктивный набор в FormattedValue
, но безрезультатно. Как я могу получить это значение для обновления на экране?
Почему вы не имеете FormattedValue как свойство зависимостей? –
Разве это не приведет к тому, что 'FormattedValue' будет доступен вне контроля? Я не хочу этого. –
Кроме того, для избирателей: почему? –