1

我正在尝试以下方法将列表视图中选定列表视图项的大小增加 25%

<Style x:Key="ListView.AlternatingColors_HeightIncreaseIfSelected" 
    TargetType="ListViewItem">
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Height">
                <Setter.Value>
                    <Binding Path="ActualHeight" 
                        ConverterParameter="@VALUE*1.25" 
                        RelativeSource="{RelativeSource Self}">
                        <Binding.Converter>
                            <Converters:MathConverter />
                        </Binding.Converter>
                    </Binding>
                </Setter.Value>
            </Setter>
        </Trigger>
        ...

但是,我得到一个无限循环,即使触发器是IsSelected. 我尝试使用Path="Height",但将 NaN 作为转换器的值。

以上来自 ListView 上设置的样式ItemContainerStyle,以防我RelativeSource可能不正确,但我确实尝试了几种变体。

知道我怎么能做到这一点吗?

4

1 回答 1

1

无限循环被创建,因为绑定目标修改了绑定源。因此,绑定值将被反复计算。由于您只想增加一次高度,因此只需设置

Mode=OneTime

装订上。当源更改时,这将停止刷新绑定。

于 2012-07-10T20:56:38.203 回答