Search code examples
wpfdata-bindingtuplesvaluetuple

ValueTuple With WPF Binding


why binding to ValueTuple property members (like Item1, Item2 ect) dont work?

<TextBlock x:Name="txtTest" Text="{Binding Item1}" />

the code:

txtTest.DataContext = ("Item A", "Another Item..");

output window:

BindingExpression path error: 'Item1' property not found on 'object' ''ValueTuple`2'

However in Tuple It always worked.


Solution

  • As stated in the documentation, Item1 and Item2 of a ValueTuple are fields rather than properties and you can only bind to public properties in WPF.

    So if you want to be able to bind to a tuple, you should use the Tuple class.