Windows Phone 8.1上的GroupStyle Xaml可见性问题

时间:2015-05-07 21:42:28

标签: c# xaml silverlight windows-phone-8.1 groupstyle

我只需要一双额外的眼睛来看看我在这里做错了什么。

我在列表视图中有一个带有groupstyle的xaml页面。这是它的外观,

modelBuilder.Entity<Person>();

我需要做的是根据viewmodel中的条件隐藏groupstule标头。这是该物业。

                <GroupStyle
                            HeaderContainerStyle="{StaticResource JumpListListHeaderContainerStyle}"
                            HidesIfEmpty="True">
                    <GroupStyle.HeaderTemplate>
                        <DataTemplate>
                            <Border 
                                    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
                                    BorderThickness="0,0,0,1"
                                    BorderBrush="{StaticResource RedBrush}"
                                    Margin="0,0,0,9.5">
                                    <TextBlock Text="{Binding Key}"
                                        Foreground="{StaticResource RedBrush}"
                                        FontSize="23" 
                                        Visibility="{Binding IsGroupheaderVisible, Converter={StaticResource BooleanToVisibilityConverter}}" 
                                        FontFamily="Segoe WP Semibold"
                                        OpticalMarginAlignment="TrimSideBearings"
                                        VerticalAlignment="Bottom" />
                            </Border>
                        </DataTemplate>
                    </GroupStyle.HeaderTemplate>
                </GroupStyle>

并且OnInitialize事件我根据某些条件将其设置为true或false。但不幸的是,它并没有隐藏/显示但总是显示出来。

这是我正在使用的BooleanToVisibilityConverter,

    private bool _isGroupHeaderVisibile;
    public bool IsGroupheaderVisible
    {
        get { return _isGroupHeaderVisibile; }
        set
        {
            if (value == _isGroupHeaderVisibile) return;
            _isGroupHeaderVisibile = value;
            NotifyOfPropertyChange(() => IsGroupheaderVisible);
        }
    }

注意:我正在使用CaliburnMicro,所以我有像OnInitialize()这样的方法,我省略了。

0 个答案:

没有答案