0

最初に私の悪い英語を許してください。

Grid.SetRow()またはの使用に問題がありsetValue(Grid.RowProperty, rowIndex)ます。要素はインデックスになりますが、それらは互いに重なり合っています..

XAML 定義:

<UserControl x:Class="LangproWPF.FrmSM_ItemsGroup"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
            <Grid Grid.Row="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="25"/>
            </Grid.RowDefinitions>
                <Button Name="btnSM_ItemGroupAdd" Style="{StaticResource ResourceKey=standardButtons}" Grid.Column="0" Grid.Row="1" Click="btnSM_ItemGroupAdd_Click">Wareng. anlegen</Button>
                <Button Name="btnSM_ItemGroupShow" Style="{StaticResource ResourceKey=standardButtons}" Grid.Column="1" Grid.Row="1">Wareng. anzeigen</Button>
            <Button Name="btnSM_ItemGroupAdd1" Style="{StaticResource ResourceKey=standardButtons}" Grid.Column="0" Grid.Row="2" Click="btnSM_ItemGroupAdd_Click">Wareng. anlegen</Button>
            <Button Name="btnSM_ItemGroupShow2" Style="{StaticResource ResourceKey=standardButtons}" Grid.Column="1" Grid.Row="2">Wareng. anzeigen</Button>
            <Button Name="btnSM_ItemGroupAdd3" Style="{StaticResource ResourceKey=standardButtons}" Grid.Column="0" Grid.Row="3" Click="btnSM_ItemGroupAdd_Click">Wareng. anlegen</Button>
            <Button Name="btnSM_ItemGroupShow4" Style="{StaticResource ResourceKey=standardButtons}" Grid.Column="1" Grid.Row="3">Wareng. anzeigen</Button>
        </Grid>
        <Grid Name="grdSM_ItemGroupHolder" Grid.Row="1" Background="LightSteelBlue">
        </Grid>
    </Grid>
</UserControl>

コードで生成された行とコンテンツ

// first remove old elements from grid
    grdSM_ItemGroupHolder.Children.Clear();
    grdSM_ItemGroupHolder.ColumnDefinitions.Clear();;

    // create columns for the Grid
    ColumnDefinition colTitle = new ColumnDefinition(){ Width = new GridLength(250)};
    ColumnDefinition colControls = new ColumnDefinition();
    grdSM_ItemGroupHolder.ColumnDefinitions.Add(colTitle);
    grdSM_ItemGroupHolder.ColumnDefinitions.Add(colControls);
    grdSM_ItemGroupHolder.ShowGridLines = true;

    // define also the first row
    RowDefinition row = new RowDefinition();
    row.Height = new GridLength(100,GridUnitType.Star);
    grdSM_ItemGroupHolder.RowDefinitions.Add(row);
    // Form elements
    Label lblIGID = new Label(){ Name="lblSM_IGID_info", Content="Die ID wird automatisch vergeben"};
    grdSM_ItemGroupHolder.Children.Add(lblIGID);
    Grid.SetRow(lblIGID,0);
    Grid.SetColumn(lblIGID,0);
    Grid.SetColumnSpan(lblIGID,2);

    TextBox txtIGID = new TextBox(){ Name="txtSM_ItemGroupID"};
    Grid.SetColumn(tbIGID, 0);
    Grid.SetRow(tbIGID, 1);

    TextBlock tbIGName = new TextBlock(){Name="tbSM_ItemGroupName", Text="Enter a name"};
    Grid.SetColumn(tbIGName,0);
    Grid.SetRow(tbIGName,1);

    Button btnIGReset = new Button() {Name="btnSM_ItemGroupAddReset", Content="Zurücksetzen"};
    grdSM_ItemGroupHolder.Children.Add(btnIGReset);
    Grid.SetRow(btnIGReset,2);
    Grid.SetColumn(btnIGReset,0);

    Button btnIGSave = new Button(){Name="btnSM_ItemGroupAddSave", Text="Speichern"};
    grdSM_ItemGroupHolder.Children.Add(btnIGSave);
    Grid.SetRow(btnIGSave,2);
    Grid.SetColumn(btnIGSave,1);

行が互いに重なっているように見えます.また、最後の2つのボタンしか見えません..他の要素が後ろにあります. このコードを使用して必要なすべての行を追加すると:

RowDefinition row1 = new RowDefinition();
row1.Height = new GridLength(100, GridUnitType.Star);
grdSM_ItemGroupHolder.RowDefinitions.Add(row1);

RowDefinition row2 = new RowDefinition();
row2.Height = new GridLength(100, GridUnitType.Star);
grdSM_ItemGroupHolder.RowDefinitions.Add(row2);

できます。私は今何時間も探しています..誰かがそれを解決する方法を知っていることを願っていますか?

4

0 に答える 0