ВведениеКак установить свойство только во втором столбце ListView?
У меня есть ListView и вы хотите отформатировать только второй столбец. Следующий код XAML делает это:
<ListView x:Name="listview">
<ListView.View>
<GridView>
<GridViewColumn Header="Property" DisplayMemberBinding="{Binding Path=Key}" Width="100"/>
<!-- <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}" Width="250">-->
<GridViewColumn Header="Value" Width="250">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Value}" Foreground="CornflowerBlue" AutomationProperties.Name="{Binding Path=Key}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
одна проблема, у меня есть, что свойство AutomationProperties.Name не быть установлен. Я проверял его с помощью Coded UI Test Builder, и свойство пусто. Свойство Text и Foreground задано правильно.
Вопрос
Кто-нибудь знает, почему AutomationProperties.Name не быть установлен?
Дополнительная информация
достаточно Strangly, следующий код XAML делает установить AutomationProperties.Name
<ListView x:Name="listview">
<ListView.Resources>
<Style TargetType="TextBlock">
<Setter Property="AutomationProperties.Name" Value="{Binding Key}"/>
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="Property" DisplayMemberBinding="{Binding Path=Key}" Width="100"/>
<GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}" Width="250"/>
</GridView>
</ListView.View>
</ListView>
Проблема здесь, однако, что AutomationProperties.Name создается на всех колонках , Но я только хочу, чтобы это было на втором, потому что иначе код кода с кодированным пользовательским интерфейсом возвращает неправильное значение (значение первого столбца вместо второго столбца, которое я хочу).
В вашем первом фрагменте XAML синтаксис неверен: 'AutomationProperties.Name = {Binding Path =" Key "}' должно быть 'AutomationProperties.Name =" {Binding Path = Key} "' –
@Thomas Levesque: Спасибо, я исправил его. Я снова запустил проблему. Ошибка XAML, которую вы указали, не была ее источником. – Lernkurve
Вы видите какую-либо ошибку привязки в окне вывода? –