У меня есть вид в нем: listview с столбцами сетки, один из столбцов - текстовый. Мне нужно, чтобы некоторые могли связывать его с ViewModel. есть ли способ сделать это?WPF MVVM C# binding textbox
<ListView.View>
<GridView x:Name="activeContents" AllowsColumnReorder="False">
<GridViewColumn Width="30" Header=" ">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding IconFileFullPath}" Width="16" Height="16" ></Image>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="150" Header="Content" DisplayMemberBinding="{Binding name}"/>
<GridViewColumn Width="125" Header="Content Category" DisplayMemberBinding="{Binding contentCategory}"/>
<GridViewColumn Width="125" Header="Content Version" DisplayMemberBinding="{Binding version}"/>
<GridViewColumn Width="85" Header="Status" DisplayMemberBinding="{Binding status}"/>
<GridViewColumn Width="90" Header="Priority ">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding seq, Mode=TwoWay}" Width="67" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
попытался привязать, но никакого эффекта. что-то читал о работе с поведением, но не знаю, как это сделать. есть ли простой способ?
больше кода:
<!-- Active Contents-->
<ListView x:Name="ContentsList" SelectedItem="{Binding Path=contentToAction}" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" ItemsSource="{Binding Path = activeContents, Mode= TwoWay}" HorizontalAlignment="Stretch" Margin="0,6,0,0" VerticalAlignment="Top" Background="#FF454545"
SelectionMode="Single" Height="130" Width="650" ScrollViewer.CanContentScroll="True"
dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.DropHandler="{Binding}" dd:DragDrop.UseDefaultDragAdorner="True">
<ListView.Resources>
<ContextMenu x:Key="ItemContextMenu">
<MenuItem Header="Open in CM" Command="{Binding DataContext.OpenContentVersionInCm, RelativeSource={RelativeSource AncestorType={x:Type ListView}}}"/>
<MenuItem Header="Execute" Command="{Binding DataContext.ContentCopyCommand, RelativeSource={RelativeSource AncestorType={x:Type ListView}}}"/>
<MenuItem Header="Update Execution Priority" Command="{Binding DataContext.UpdateExecutionPriorityCommand, RelativeSource={RelativeSource AncestorType={x:Type ListView}}}"/>
</ContextMenu>
<Style TargetType="GridViewColumnHeader">
<Setter Property="IsEnabled" Value="True"/>
<Setter Property="TextElement.Foreground" Value="Black"/>
</Style>
</ListView.Resources>
<ListView.View>
<GridView x:Name="activeContents" AllowsColumnReorder="False">
<GridViewColumn Width="30" Header=" ">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding IconFileFullPath}" Width="16" Height="16" ></Image>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="150" Header="Content" DisplayMemberBinding="{Binding name}"/>
<GridViewColumn Width="125" Header="Content Category" DisplayMemberBinding="{Binding contentCategory}"/>
<GridViewColumn Width="125" Header="Content Version" DisplayMemberBinding="{Binding version}"/>
<GridViewColumn Width="85" Header="Status" DisplayMemberBinding="{Binding status}"/>
<GridViewColumn Width="90" Header="Priority ">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding seq, Mode=TwoWay}" Width="67" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListView.ItemContainerStyle>
Вы связываете ObservableColelction или любую коллекцию с вашим списком ListView? – JasonNew
Да, его ObservableColelction – igor
опубликуйте соответствующий код вида и привязки ваших источников. и проверьте окно вывода для привязки исключений. btw BradleyDotnet отправил правильный ответ;) – blindmeis