UWPでを選択して、選択時のビューを変更します。だから私は、ListViewItem
のいくつかの要素のVisibility
プロパティを変更する必要があります。ListViewItemのDataTemplateでIsSelectedプロパティをバインドする方法
私はListViewItem
のカスタムスタイルを作成し、このようなIsSelected
プロパティをバインディングでこれを行うにはいくつかの方法が見つかりました:
<Style x:Key="VehicleListViewItemStyle" TargetType="ListViewItem" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Grid Background="Gray" Margin="1">
<Border Margin="2" Padding="10" Background="Gray" >
<StackPanel>
<ContentPresenter x:Name="Presenter1" />
<StackPanel Orientation="Horizontal" Background="Transparent" Margin="-10,0,-9,-9" VerticalAlignment="Center" x:Name="infoPanel"
Visibility="{Binding IsSelected, RelativeSource={RelativeSource Mode=TemplatedParent}, Converter={StaticResource BooleanToVisibilityConverter}}">
<TextBlock Text="{Binding DeviceID}/> </StackPanel>
</StackPanel>
</Border>
<Border BorderThickness="1" BorderBrush="Orange" Visibility="{Binding IsSelected, RelativeSource={RelativeSource Mode=TemplatedParent}, Converter={StaticResource BooleanToVisibilityConverter}}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
その良い作業が、この方法で私はDeviceID
テキストをバインド傾けます。
<DataTemplate x:Key="monitoringListViewItem" x:Name="item">
<Grid Background="Gray" Margin="1" Width="300" >
<StackPanel>
<ContentPresenter x:Name="Presenter"/>
<StackPanel Orientation="Horizontal">
<Image Source="/Assets/14th_crane_stop.png" Height="50" Width="50" Stretch="Uniform"/>
<StackPanel Orientation="Vertical" Margin="25,0,0,0 "
Visibility="{Binding IsSelected, RelativeSource={RelativeSource Mode=TemplatedParent}, Converter={StaticResource BooleanToVisibilityConverter}}"
>
<TextBlock Text="{Binding DeviceID}" Style="{StaticResource VehicleTextStyle}"/>
<TextBlock Text="{Binding Mark}" Style="{StaticResource VehicleTextStyle}"/>
</StackPanel>
</StackPanel>
</StackPanel >
</Grid>
</DataTemplate>
は、今私はテキストを正確にバインドすることができますが、IsSelected
プロパティをバインドカント:
もう一つの方法は、このようなDataTemplate
を作成しています。私は別のモードでこれをやろうとしましたが、DataTemplate内でTemplatedParent
キーを使用できないため、まだ動作しません。私は最初の方法でテキストを結合して、私はそれをどのように行うことができます-CAN
:
は、だから私はいくつかの答えがありますか? - 第2の方法でIsSelected
プロパティをバインドする方法はありますか?
あなたのListViewコントロールは、単一選択または複数選択を持っていますか? –
@Decade Moon、Multiple – selezen88