1

データ ソース内のすべての項目を収容するために、Silverlight DataGrid を拡張するのに問題があります。2 つの DataGrid を含む Grid があります。Grid と DataGrid で height=Auto を設定してみました。Grid と DataGrids で Horizo​​ntalContentAlignment="Stretch" を設定しようとしました。object タグには height="100%" が含まれています。グリッドの RowDefinitions に Height="*" を設定しました

どんな助けでも大歓迎です!

コードリストは次のとおりです。

<UserControl x:Class="TimeSheet.SilverLight.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" 
mc:Ignorable="d"> 
<Grid x:Name="LayoutRoot" Height="Auto" ShowGridLines="True" HorizontalAlignment="Stretch" >
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <local:DataGrid BorderThickness="5" HorizontalContentAlignment="Stretch"  AutoGenerateColumns="False"  VerticalAlignment="Top" x:Name="NonProjectGrid" Grid.Row="0">
        <local:DataGrid.Columns>
            <local:DataGridTextColumn Header="Activity" Binding="{Binding TaskName}" />
            <local:DataGridTextColumn Header="Monday" Binding="{Binding Monday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Tuesday" Binding="{Binding Tuesday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Wednesday" Binding="{Binding Wednesday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Thursday" Binding="{Binding Thursday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Friday" Binding="{Binding Friday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Saturday" Binding="{Binding Saturday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Sunday" Binding="{Binding Sunday, Mode=TwoWay}" />
        </local:DataGrid.Columns>
    </local:DataGrid>
    <local:DataGrid BorderThickness="5" HorizontalContentAlignment="Stretch" AutoGenerateColumns="False"  VerticalAlignment="Top" x:Name="ProjectGrid" Grid.Row="2">
        <local:DataGrid.Columns>
            <local:DataGridTextColumn Header="Bug Number" Binding="{Binding BugNo}" />
            <local:DataGridTextColumn Header="Activity" Binding="{Binding TaskName}" />
            <local:DataGridTextColumn Header="Monday" Binding="{Binding Monday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Tuesday" Binding="{Binding Tuesday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Wednesday" Binding="{Binding Wednesday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Thursday" Binding="{Binding Thursday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Friday" Binding="{Binding Friday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Saturday" Binding="{Binding Saturday, Mode=TwoWay}" />
            <local:DataGridTextColumn Header="Sunday" Binding="{Binding Sunday, Mode=TwoWay}" />
        </local:DataGrid.Columns>
    </local:DataGrid>
    <Button Name="AddBugBtn" Width="125" Height="25" Content="Add From Bugzilla" Click="AddBug_Click" Grid.Row="3" HorizontalAlignment="Right"></Button>
    <Button Name="SaveBtn" Width="125" Height="25" Content="Save" Click="Save_Click" Grid.Row="3" HorizontalAlignment="Left"></Button>
</Grid>

4

1 に答える 1

0

RowDefinitions が過剰にあるようです。に何も割り当てていませんGrid.Row="1"。おそらく、この行を削除して、要素の Grid.Row 割り当てを調整する必要があります。また、最後の RowDefinition の高さをに設定し、外側のグリッドからAuto取り除くことをお勧めします。Height="Auto"

于 2010-04-30T13:43:44.570 に答える