У меня есть кнопка с привязкой к данным, у которой есть TargetNullValue:
<Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue='None'}" />
, которая отлично работает, и когда NextItem имеет значение NULL, кнопка показывает «Нет».Но я хочу привязать нулевое значение к чему-либо.
Чтобы упростить вещи, давайте предположим, что у меня есть свойство в моей ViewModel с именем NullValue, которое возвращает строку, к которой я хочу привязаться, когда null:
<Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue={Binding Path=NullValue}}" />
Но это выдает:
System.Windows.Markup.XamlParseException: Provide value on 'System.Windows.Data.Binding' threw an exception. [Line: 129 Position: 92]
---> System.InvalidOperationException: Operation is not valid due to the current state of the object.
at MS.Internal.XamlManagedRuntimeRPInvokes.TryApplyMarkupExtensionValue(Object target, XamlPropertyToken propertyToken, Object value)
at MS.Internal.XamlManagedRuntimeRPInvokes.SetValue(XamlTypeToken inType, XamlQualifiedObject& inObj, XamlPropertyToken inProperty, XamlQualifiedObject& inValue)
Что я действительно хочу сделать, так это связать нулевое значение с resx, поэтому я имею это в словаре ресурсов элемента управления и изменяю привязку следующим образом:
<res:AppResources x:Key="appResources" />
...
<Button Content="{Binding Path=NextItem, Mode=OneWay, TargetNullValue={Binding Path=NullValue,Source={StaticResource appResources}}}" />
Это также вызывает то же исключение.Есть предложения?