0

私は WPF に非常に慣れていないため、フォームを正しく表示できないようです。6行あると思っていました。最初の 3 つにはボタンがあり、最後の 3 つには追加のグリッドが含まれています。NHibernate 電子ブックのコードに従っていましたが、正しく表示されないようです。誰かがこのコードを見て、考えられるエラーを提案できますか:

<av:Window x:Class="Chapter2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:av="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Title="Product Inventory" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="493" d:DesignWidth="566" SizeToContent="WidthAndHeight">
<av:Grid>
    <av:Grid.RowDefinitions>
        <av:RowDefinition Height="auto" />
        <av:RowDefinition Height="auto" />
        <av:RowDefinition Height="auto" />
        <av:RowDefinition Height="*" />
        <av:RowDefinition Height="*" />
        <av:RowDefinition Height="*" />
    </av:Grid.RowDefinitions>
    <av:Button x:Name="btnCreateDatabase" Content="Create Database" Click="BtnCreateSessionFactoryClick"/>
    <av:Button x:Name="btnCreateSessionFactory" Content="Create Session Factory" Click="BtnCreateSessionFactoryClick" av:Grid.Row="1"/>
    <av:Button x:Name="btnCreateSession" Content="Create Session" Click="BtnCreateSessionClick" av:Grid.Row="2" />
    <av:Grid x:Name = "CategoryGrid" av:Grid.Row="3" Margin="0 10 0 0">
        <av:Grid.ColumnDefinitions>
            <av:ColumnDefinition Width="Auto"/>
            <av:ColumnDefinition Width="*"/>
        </av:Grid.ColumnDefinitions>
        <av:Grid.RowDefinitions>
            <av:RowDefinition Height="Auto" />
            <av:RowDefinition Height="Auto" />
            <av:RowDefinition Height="Auto" />
        </av:Grid.RowDefinitions>
        <av:TextBlock Text="Category Name:"/>
        <av:TextBlock Text="Category Description:" av:Grid.Row="1"/>
        <av:TextBox x:Name="txtCategoryName" av:Grid.Column="1"/>
        <av:TextBox x:Name="txtCategoryDescription" av:Grid.Row="1" av:Grid.Column="1"/>
        <av:Button x:Name="btnAddCategory" Content="Add Category" av:Grid.Row="2" Click="BtnAddCategoryClick" />
    </av:Grid>
    <av:Grid x:Name = "ProductGrid" Margin="1,0,-1,131" av:Grid.Row="4">
        <av:Grid.ColumnDefinitions>
            <av:ColumnDefinition Width="Auto"/>
            <av:ColumnDefinition Width="*"/>
        </av:Grid.ColumnDefinitions>
        <av:Grid.RowDefinitions>
            <av:RowDefinition Height="Auto" />
            <av:RowDefinition Height="Auto" />
            <av:RowDefinition Height="Auto" />
        </av:Grid.RowDefinitions>
        <av:TextBlock Text="Category Name:"/>
        <av:TextBlock Text="Category Description:" av:Grid.Row="1"/>
        <av:TextBox x:Name="txtProductName" av:Grid.Column="1"/>
        <av:TextBox x:Name="txtProductDescription" av:Grid.Row="1" av:Grid.Column="1"/>
        <av:Button x:Name="btnAddProduct" Content="Add Product" av:Grid.Row="2" Click="BtnAddCategoryClick" />
    </av:Grid>
    <av:Grid x:Name = "LoadCategoryGrid" av:Grid.Row="5" Margin="1,0,-1,0" >
        <av:Grid.ColumnDefinitions>
            <av:ColumnDefinition Width="278"/>
            <av:ColumnDefinition Width="265"/>
        </av:Grid.ColumnDefinitions>
        <av:Grid.RowDefinitions>
            <av:RowDefinition Height="Auto" />
        </av:Grid.RowDefinitions>
        <av:Button x:Name="btnLoadCategories" Content="Load Categories"  VerticalAlignment="Top" Click="BtnLoadCategoriesClick" Margin="0,188,186,0" />
        <av:ListBox x:Name="lstCategories"  Margin="52,188,-55,-10" av:Grid.Column="1" />
    </av:Grid>
</av:Grid>

窓

4

2 に答える 2

1

最後のグリッドは、行5のグリッドと重なっています。

<av:Grid x:Name = "ProductGrid" Margin="-1,2,1,130" av:Grid.Row="5">
<av:Grid x:Name = "LoadCategoryGrid" av:Grid.Row="5" Margin="3,73,-3,128" >

2つのグリッドを同じグリッド行に配置av:Grid.Rowし、同じ値でアタッチされたプロパティを確認します。それらの1つを自由な場所に移動するには、次のように変更する必要があります。av:Grid.Row="4"

于 2012-07-10T08:28:54.110 に答える
1

の浮遊 double 定義Grid.Row="5"Grid.RowSpan="2"1 つの行のみが定義されている以外は、どちらも現在修正されていますが、配置に影響を与える唯一の他のコードは、すべての偽のMargin値です。

それ以外は、XAML は正常に見えます。

于 2012-07-10T09:15:40.047 に答える