加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在行和列XAML窗口8中显示数据

发布时间:2020-12-14 01:52:53 所属栏目:Windows 来源:网络整理
导读:在metro风格的 Windows 8应用程序中,如何使用类似于此的(https://dl.dropbox.com/u/59251888/img.png)图像的xaml显示数据.是否可以使用ListBox,ListView,GrdView ..? 解决方法 是的,但你需要设置它的样式,使它看起来像一个数据网格. (假设您正在基于您已分
在metro风格的 Windows 8应用程序中,如何使用类似于此的(https://dl.dropbox.com/u/59251888/img.png)图像的xaml显示数据.是否可以使用ListBox,ListView,GrdView ..?

解决方法

是的,但你需要设置它的样式,使它看起来像一个数据网格. (假设您正在基于您已分配给此问题的标记在XAML中进行开发).诀窍是制作一个使用网格的数据模板,其中列具有适当的宽度,对齐等.

我做了类似的事情 – 使用ListView.这可以修改为使背景只出现在单元格而不是行 – 我已经完成了.希望这可以帮助:

XAML:

<ListView 
      VerticalAlignment="Top"
      Margin="0,5"
      ItemsSource="{Binding HighestExpensesAlternatingList}"
      ItemTemplate="{StaticResource HighestExpensesTemplate}"
      BorderBrush="#19FFFFFF" BorderThickness="1,0" 
      SelectionMode="None" IsItemClickEnabled="False"
      ScrollViewer.VerticalScrollBarVisibility="Hidden"
      ScrollViewer.HorizontalScrollBarVisibility="Hidden"
      ItemContainerStyle="{StaticResource SimpleListViewItemStyle}"
      IsHitTestVisible="False"/>


    <DataTemplate x:Key="HighestExpensesTemplate">
        <Grid Width="500" VerticalAlignment="Center" Margin="5,0"
              Background="{Binding AlternatingIndexBrush}">

            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="120" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="150" />
            </Grid.ColumnDefinitions>

            <TextBlock Grid.Column="0" Margin="5" TextWrapping="NoWrap" 
                       Style="{StaticResource BasicTextStyle}" 
                       VerticalAlignment="Center"
                       Text="{Binding Item.DateString}" />

            <TextBlock Grid.Column="1" Margin="5" TextWrapping="NoWrap" 
                       Style="{StaticResource BasicTextStyle}" 
                       VerticalAlignment="Center"
                       Text="{Binding Item.Description}" />

            <TextBlock Grid.Column="2" Margin="5" TextWrapping="NoWrap"
                       Style="{StaticResource BasicTextStyle}" 
                       VerticalAlignment="Center"
                       Text="{Binding Item.AmountStringCurrencyFormat}"
                       HorizontalAlignment="Right"/>

        </Grid>
    </DataTemplate>

<Style x:Key="SimpleListViewItemStyle" TargetType="ListViewItem">
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="TabNavigation" Value="Local"/>
    <Setter Property="IsHoldingEnabled" Value="False"/>
    <Setter Property="IsDoubleTapEnabled" Value="False"/>
    <Setter Property="IsRightTapEnabled" Value="False" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ListViewItem">
                <Border BorderBrush="{TemplateBinding BorderBrush}" 
                            BorderThickness="{TemplateBinding BorderThickness}" 
                            Background="{TemplateBinding Background}" 
                            Margin="{TemplateBinding Margin}">

                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="CommonStates">
                            <VisualState x:Name="Normal"/>
                            <VisualState x:Name="Pressed">
                                <Storyboard>
                                    <PointerDownThemeAnimation TargetName="Container"/>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>

                    <Grid x:Name="Container">
                        <ContentPresenter x:Name="contentPresenter" 
                                              ContentTemplate="{TemplateBinding ContentTemplate}" 
                                              ContentTransitions="{TemplateBinding ContentTransitions}" 
                                              Content="{TemplateBinding Content}" 
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                                              Margin="{TemplateBinding Padding}" 
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                    </Grid>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读