c#WPF ListView运行程序时宽度比设计器中宽

时间:2018-09-04 17:30:35

标签: c# wpf listview width

这更令人烦恼,因为我只是捏捏宽度直到看起来正确为止,但实际上不应该这样做。

这是VS2017 C#WPF设计器窗口中的ListView

Designer

应用程序运行时,这里是相同的ListView

enter image description here

如您所见,左侧和右侧被切断。

这是XAML代码:

    <ListView x:Name="errors_listview" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
              Margin="5,35,5,0" Height="224" Width="484"
              Background="#FF132C44" Foreground="White"
              VerticalAlignment="Top" HorizontalAlignment="Center"
              SelectionMode="Single"
              FontFamily="Segoe UI"
              TabIndex="50"
              ItemsSource="{Binding Printer_List}"
              SelectedIndex="{Binding Selected_Index, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">

        <ListView.ItemContainerStyle>
            <Style TargetType="{x:Type ListViewItem}">
                <Setter Property="BorderBrush" Value="LightGray" />
                <Setter Property="BorderThickness" Value="0,0,0,1" />

                <Style.Triggers>

                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsSelected" Value="True" />
                            <Condition Property="Selector.IsSelectionActive" Value="True" />
                        </MultiTrigger.Conditions>
                        <Setter Property="Foreground" Value="Black" />
                        <Setter Property="Background" Value="SteelBlue" />
                    </MultiTrigger>

                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsSelected" Value="True" />
                            <Condition Property="Selector.IsSelectionActive" Value="False" />
                        </MultiTrigger.Conditions>
                        <Setter Property="Foreground" Value="Black" />
                        <Setter Property="Background" Value="SteelBlue" />
                    </MultiTrigger>

                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property="IsMouseOver" Value="True" />
                        </MultiTrigger.Conditions>
                        <Setter Property="Foreground" Value="Black" />
                        <Setter Property="Background" Value="DodgerBlue" />
                    </MultiTrigger>

                </Style.Triggers>

            </Style>
        </ListView.ItemContainerStyle>

        <ListView.View>
            <GridView x:Name="printers_gridview">

                <GridView.ColumnHeaderContainerStyle>
                    <Style TargetType="{x:Type GridViewColumnHeader}">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
                                    <Border BorderThickness="0,0,0,0" BorderBrush="Transparent" Background="LightGray">

                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </GridView.ColumnHeaderContainerStyle>

                <GridViewColumn x:Name="printer_column" Header="Printer:" Width="180"
                                DisplayMemberBinding="{Binding Printer}">
                    <GridViewColumn.HeaderContainerStyle>
                        <Style TargetType="{x:Type GridViewColumnHeader}">
                            <Setter Property="HorizontalContentAlignment" Value="Left" />
                            <Setter Property="VerticalContentAlignment" Value="Center" />
                            <Setter Property="IsEnabled" Value="False"/>
                            <Setter Property="Background" Value="LightGray"/>
                            <Style.Triggers>
                                <Trigger Property="IsEnabled" Value="False">
                                    <Setter Property="TextElement.Foreground" Value="Black"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </GridViewColumn.HeaderContainerStyle>
                </GridViewColumn>

                <GridViewColumn x:Name="port_column" Header="Port:" Width="90"
                                DisplayMemberBinding="{Binding Port}">
                    <GridViewColumn.HeaderContainerStyle>
                        <Style TargetType="{x:Type GridViewColumnHeader}">
                            <Setter Property="HorizontalContentAlignment" Value="Left" />
                            <Setter Property="VerticalContentAlignment" Value="Center" />
                            <Setter Property="IsEnabled" Value="False"/>
                            <Setter Property="Background" Value="LightGray"/>
                            <Style.Triggers>
                                <Trigger Property="IsEnabled" Value="False">
                                    <Setter Property="TextElement.Foreground" Value="Black"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </GridViewColumn.HeaderContainerStyle>
                </GridViewColumn>

                <GridViewColumn x:Name="ext_column" Header="Ext:" Width="80"
                                DisplayMemberBinding="{Binding Ext}">
                    <GridViewColumn.HeaderContainerStyle>
                        <Style TargetType="{x:Type GridViewColumnHeader}">
                            <Setter Property="HorizontalContentAlignment" Value="Left" />
                            <Setter Property="VerticalContentAlignment" Value="Center" />
                            <Setter Property="IsEnabled" Value="False"/>
                            <Setter Property="Background" Value="LightGray"/>
                            <Style.Triggers>
                                <Trigger Property="IsEnabled" Value="False">
                                    <Setter Property="TextElement.Foreground" Value="Black"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </GridViewColumn.HeaderContainerStyle>
                </GridViewColumn>

                <GridViewColumn x:Name="completed_column" Header="Completed:" Width="80"
                                DisplayMemberBinding="{Binding Completed}">
                    <GridViewColumn.HeaderContainerStyle>
                        <Style TargetType="{x:Type GridViewColumnHeader}">
                            <Setter Property="HorizontalContentAlignment" Value="Left" />
                            <Setter Property="VerticalContentAlignment" Value="Center" />
                            <Setter Property="IsEnabled" Value="False"/>
                            <Setter Property="Background" Value="LightGray"/>
                            <Style.Triggers>
                                <Trigger Property="IsEnabled" Value="False">
                                    <Setter Property="TextElement.Foreground" Value="Black"/>
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </GridViewColumn.HeaderContainerStyle>
                </GridViewColumn>

            </GridView>
        </ListView.View>
    </ListView>

我在这里想念什么?

0 个答案:

没有答案