c # WPF Ширина ListView при запуске программы больше, чем в дизайнере - PullRequest
0 голосов
/ 04 сентября 2018

Это больше раздражает, так как я могу просто придумать ширину, пока она не будет выглядеть правильно, но это действительно не должно делать это.

Вот ListView в окне конструктора WPF VS2017 C #.

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>

Что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...