0
私はアイテムのリストを動的に作成するリストビューを持っています。リストビューでは、各メンバーに2つのラベルがあります。「ランク」(数字、通常1〜10)と「名前」です。各リストビュー項目には3つのボタンもあります。ユーザーが「ランク」ラベルを編集できるようにしたいと思います。彼らも名前ラベルを編集することができる場合は、それは大丈夫ですが、私はちょうど1つを好むでしょう。Listview:ラベルフィールドの1つだけを編集する方法
私がオンラインで見た回答はすべて、ListViewの "LabelEdit"プロパティに関連していますが、その属性を含めるとコンパイルエラーが発生するため、私にとっては存在しないようです。ここで
XAMLは、私のListViewのためのものです:
<ListView Margin="134,110,100,50"
Name="carrierList"
HorizontalAlignment="Center"
Width="232"
BorderBrush="LightGray"
BorderThickness="1,1,1,1"
Visibility="{Binding Path=ShowCarrierList, Converter={StaticResource BoolToVis}}"
ItemsSource="{Binding CarrierList}"
Grid.RowSpan="2"
ScrollViewer.CanContentScroll="True">
<ListView.ItemTemplate>
<DataTemplate>
<DockPanel Margin="0,0,0,0" HorizontalAlignment ="Stretch">
<Grid HorizontalAlignment="Stretch">
<Grid.Resources>
<Style TargetType="{x:Type Border}">
<!-- All rows -->
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="BorderThickness" Value="2" />
<Setter Property="CornerRadius" Value="5" />
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="165" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="20" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Rank}" />
<TextBlock Text="{Binding CarrierName}" Margin="20,0,0,0"/>
<Button Width="20" Grid.Column="1" HorizontalAlignment="Right" ToolTip="Edit Carrier Details" Command="{Binding ElementName=carrierList, Path=DataContext.EditCarrierClick}" CommandParameter="{Binding}">
<StackPanel>
<Image Source="{StaticResource EditImg}"/>
</StackPanel>
</Button>
<Button Width="20" Grid.Column="2" HorizontalAlignment="Right" ToolTip="View All Nodes With This Carrier" Command="{Binding ElementName=carrierList, Path=DataContext.AffectedNodeListClick}" CommandParameter="{Binding}">
<StackPanel>
<Image Source="{StaticResource NetworkImg}"/>
</StackPanel>
</Button>
<Button Width="20" Grid.Column="3" HorizontalAlignment="Right" ToolTip="Remove Carrier From Node" Command="{Binding ElementName=carrierList, Path=DataContext.OnRemoveClick}" CommandParameter="{Binding}">
<StackPanel>
<Image Source="{StaticResource ErrorImg}"/>
</StackPanel>
</Button>
</Grid>
</DockPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
へ編集するには、値を見つけ、observableCollectionで編集し、抽出し、変更してから挿入する必要があります。 – Sasha
ユーザーが値をクリックして入力を開始できるようにしたい。情報はすでに観測可能なコレクション(Carrierオブジェクトの観測可能なコレクション)にあります。 –