Я пытаюсь переключиться на WPF из Winform, и пока это боль.Listview DataTemplate Binding возвращает ошибку
В любом случае, я пытаюсь заставить эту привязку работать, используя DataTemplate.
У меня есть класс:
public class TranslatorListItem
{
public string Item { get; set; }
public string OriginalMessage { get; set; }
public string TranslatedMessage { get; set; }
public string Sector { get; set; }
}
Элементы добавляются так:
TranslatorListItem TLI = new TranslatorListItem();
TranslatorLVI.Items.Add(TLI);
Мой XAML DataTemplate:
<DataTemplate x:Key="MyDataTemplate">
<Border BorderBrush="#FFA4D5E5" BorderThickness="1,1,0,0" Margin="6">
<StackPanel Margin="6,2,6,2">
<TextBox Text="{Binding}" TextWrapping="Wrap" BorderThickness="0" BorderBrush="#00000000" />
</StackPanel>
</Border>
</DataTemplate>
Это, как я пытаюсь привязать но он возвращает эту ошибку: «Двусторонняя привязка требует Path или XPath».
<ListView Margin="23,224,27,54" Name="TranslatorLVI" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch"
ItemContainerStyle="{StaticResource MyItemContainerStyle}">
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn Header="Item" DisplayMemberBinding="{Binding Path=Item}" CellTemplate="{StaticResource MyDataTemplate}" />
<GridViewColumn Header="Original Message" Width="300" CellTemplate="{StaticResource MyDataTemplate}" />
<GridViewColumn Header="Translated Message" DisplayMemberBinding="{Binding Path=TranslatedMessage}" CellTemplate="{StaticResource MyDataTemplate}" />
<GridViewColumn Header="Sector" DisplayMemberBinding="{Binding Path=Sector}" />
</GridView>
</ListView.View>
</ListView>
Мне нужно, чтобы TranslatedMessage был доступен для редактирования. Таким образом, это поле не будет доступно только для чтения. Я слышал, мне может потребоваться установить двустороннюю привязку, но я не знаю, как это сделать.
Любая помощь приветствуется. Спасибо!
Вы получаете свой список? – Nitin
MyDataTemplate TextBox Связывание текста не содержит Path. –