Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 格线柱的宽度_C#_Windows_Xaml_Uwp_Grid Layout - Fatal编程技术网

C# 格线柱的宽度

C# 格线柱的宽度,c#,windows,xaml,uwp,grid-layout,C#,Windows,Xaml,Uwp,Grid Layout,我在网格中设置列宽时遇到问题。网格是在按钮内部自动生成的,我不知道它的实际宽度,也不知道窗口的宽度。我在其中定义了两列,一列具有静态宽度,第二列希望设置为所有左侧位置。问题是,我只是在程序运行时生成所有这些网格和列,所以我不能使用任何其他对象的宽度属性,因为所有对象都是double.NaN 我想做的是生成一个包含两列的按钮网格,一个是静态宽度,另一个是宽度可以随时间变化的,如图所示(红色文本只是一条注释) 我用来生成网格的代码。目前,有问题的列的宽度属性设置为“?”: 备选选项-ListView

我在网格中设置列宽时遇到问题。网格是在按钮内部自动生成的,我不知道它的实际宽度,也不知道窗口的宽度。我在其中定义了两列,一列具有静态宽度,第二列希望设置为所有左侧位置。问题是,我只是在程序运行时生成所有这些网格和列,所以我不能使用任何其他对象的宽度属性,因为所有对象都是double.NaN

我想做的是生成一个包含两列的按钮网格,一个是静态宽度,另一个是宽度可以随时间变化的,如图所示(红色文本只是一条注释)

我用来生成网格的代码。目前,有问题的列的宽度属性设置为“?”:

备选选项-ListView(仍然是相同的问题,同样,WidthValue=“??”的位置是我不知道如何设置的位置):



我认为您不必设置要设置的
宽度。这种情况下的问题应该是
DataTemplate
的内容根本没有拉伸

您必须将以下行添加到
列表视图中
,以扩展内容:

<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    </Style>
</ListView.ItemContainerStyle>


顺便说一句,我明白了,在ListView中,您经常使用带有
ColumnDefinitions
RowDefinitions
的网格。这可能会降低您的UI速度。。你应该考虑使用和删除一些不必要的网格。

这是我从代码中得到的(不是我想要的)。(红色的图形是调试器显示给我的文本框边框。我正在做的是从XML文件生成接口,所以我不能真正使用该方法,我已经尝试过使用星形宽度,但它没有真正起作用。它仍然像自动宽度一样,按钮在那里使网格可点击当然,这仍然不是问题。尽管我删除了您提到的线条并添加了星形宽度,但问题仍然存在。我还更改了一些对齐属性,但这仍然不是解决方案。我刚刚找到了实现所需的方法,但这不是功能,而是缺陷。诀窍是设置插入到问题中的网格的宽度ematic列到一个像10000这样的大数字,然后它的右侧被切割,其余部分就像我想要的,但它仍然不是我想要的(尽管看起来很完美)您正在将两个文本的水平对齐设置为拉伸和线条,然后将其宽度设置为GridButton.Width-80。我不确定这是否会导致问题,但您可以尝试删除线条。
<ListView Name="FileListView" Margin="0,0,0,0" Padding="10,10,10,10">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid Height="90" Margin="0,0,0,0" HorizontalAlignment="Stretch">
                <Grid.RowDefinitions>
                    <RowDefinition Height="2"/>
                    <RowDefinition Height="92"/>
                </Grid.RowDefinitions>

                <Grid Grid.Row="0"
                      BorderThickness="0,2"
                      CornerRadius="2"
                      BorderBrush="Black"
                      Margin="40,0"
                      VerticalAlignment="Top"
                      HorizontalAlignment="Stretch"
                      />

                <Grid Grid.Row="1" Height="90" Margin="0" Padding="0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="65"/>
                    </Grid.ColumnDefinitions>

                    <Grid Name ="Texts" Grid.Column="0" HorizontalAlignment="Stretch" Margin="10,10">
                        <Button HorizontalAlignment ="Stretch" Margin ="0" Height = "70" Tag = "{Binding GridButtonTag}" Background ="#00FFFFFF" Padding = "0">
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition/>
                                    <ColumnDefinition Width="90"/>
                                </Grid.ColumnDefinitions>

                                <TextBlock Grid.Column="1" FontSize = "45" FontWeight="Bold" TextAlignment="Right" Text="{Binding QuestionsAmount}" />

                                <Grid Grid.Column="0" Width="????">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="40"/>
                                        <RowDefinition Height="30"/>
                                    </Grid.RowDefinitions>

                                    <TextBlock Grid.Row="0" FontSize = "35" FontWeight="Bold" TextAlignment="Left" Text="{Binding Name}" VerticalAlignment="Center"/>
                                    <TextBlock Grid.Row="1" FontSize = "17" TextAlignment="Left" Text="{Binding Description}" VerticalAlignment="Center"/>
                                </Grid>
                            </Grid>
                        </Button>
                    </Grid>

                    <Grid Grid.Column="1">
                        <Grid Name="Buttons" Width ="65" HorizontalAlignment="Stretch" Padding = "10,5,10,10" Height = "90" Margin = "0">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="50"/>
                                <RowDefinition Height="20"/>
                            </Grid.RowDefinitions>

                            <Button Grid.Row="0" Tag = "{Binding PlayButtonTag}" Margin = "0" Height = "50" Width = "50" HorizontalAlignment = "Center" HorizontalContentAlignment = "Center" VerticalAlignment = "Top" VerticalContentAlignment = "Center" Background = "#00FFFFFF" Padding = "0">
                                <Image Width="50" Height="50" Source="ms-appx:///Assets/Images/PlayIcon.png" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            </Button>

                            <Grid Grid.Row="1" Margin="0,0,0,0" Padding="0,0,0,0" Width="50" Height="20">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="25"/>
                                    <ColumnDefinition Width="20"/>
                                </Grid.ColumnDefinitions>

                                <Button Grid.Column="0" Tag = "{Binding EditButtonTag}" Margin = "0" Height = "20" Width = "20" HorizontalAlignment = "Left" HorizontalContentAlignment = "Center" VerticalAlignment = "Top" VerticalContentAlignment = "Center" Background = "#00FFFFFF" Padding = "0">
                                    <Image Width="20" Height="20" Source="ms-appx:///Assets/Images/EditIcon.png" HorizontalAlignment="Center" VerticalAlignment="Center"
                                </Button>
                                <Button Grid.Column="1" Margin = "0" Tag = "{Binding DeleteButtonTag}" Height = "20" Width = "20" HorizontalAlignment = "Right" HorizontalContentAlignment = "Center" VerticalAlignment = "Top" VerticalContentAlignment = "Center" Background = "#00FFFFFF" Padding = "0">
                                    <Image Width="20" Height="20" Source="ms-appx:///Assets/Images/DeleteIcon.png" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                </Button>
                            </Grid>
                        </Grid>
                    </Grid>
                </Grid>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    </Style>
</ListView.ItemContainerStyle>