gpt4 book ai didi

c# - XAML 分组 ListView : Changing a row background color

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:18 24 4
gpt4 key购买 nike

我是一名 iOS 开发人员,现在我正在接近 .net windows 8 商店应用程序开发。好吧,我遇到了这个问题:我已经使用 XAML 创建了一个分组的 listView:

<ListView Margin="0,10,50,50"
x:Name="listView"
AutomationProperties.AutomationId="listView"
AutomationProperties.Name="Grouped Items"
Grid.Row="1"
Background="LightGray"
BorderBrush="#FF818181"
ItemsSource="{Binding Source={StaticResource groupedIndexViewSource}}"
ItemTemplate="{StaticResource StandardSubIndexNOIcon320x70ItemTemplate}"
BorderThickness="0,1,1,1"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="itemClicked">
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid x:Name="Prr"
Width="315"
Margin="-5,0,0,2"
Height="70"
Background="#FFB9B9B9">
<Button Width="315"
Height="70"
Margin="0"
Click="HeaderClicked"
BorderThickness="0"
BorderBrush="{x:Null}"
Foreground="{x:Null}"
Background="{x:Null}"
Padding="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="260" />
<ColumnDefinition Width="50" />
</Grid.ColumnDefinitions>

<TextBlock Grid.Column="0"
Width="250"
Margin="10,0,0,0"
Text="{Binding Title}"
Style="{StaticResource BodyTextStyle}"
TextWrapping="NoWrap"
FontSize="20"
Foreground="#DE000000"
VerticalAlignment="Center"
TextAlignment="Left"
HorizontalAlignment="Left" />
</Grid>
</Button>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>

现在,我想更改在 headerTemplate 中定义的点击标题按钮的背景颜色,因此,在我的 C# 代码中我定义了这个方法:

private void HeaderClicked(object sender, RoutedEventArgs e)
{
((Grid)((Button)e.OriginalSource).Parent).Background = new SolidColorBrush(Colors.DarkBlue);
}

问题是这条指令被忽略了。

你能帮我解决这个问题吗?

提前致谢。

更新:

在 DanM 的帮助下,我发现我在这个属性上确实有问题:((Grid)((Button)e.OriginalSource).Parent). 未定义或导入背景预定义类型 'Microsoft.CSharp.RuntimeBinder.Binder'

这是意大利语的英文翻译(我的ide是意大利语)。

当我进入 references->add reference->assembly->frameworks 时,我只能看到一条消息,表明我已经拥有对框架的所有引用,并且我需要使用“对象查看器”来浏览框架...

我不太清楚这是什么意思...

最佳答案

唯一让我吃惊的是,也许您应该为按钮画笔使用 Transparent 而不是 x:Null

因此,您的按钮标记将变为:

<Button Width="315"
Height="70"
Margin="0"
Click="HeaderClicked"
BorderThickness="0"
BorderBrush="Transparent"
Foreground="Transparent"
Background="Transparent"
Padding="0">

如果这确实有效,那是因为具有透明背景的按钮仍然接受点击事件,而具有空背景的按钮可能不会。

关于c# - XAML 分组 ListView : Changing a row background color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com