簡體   English   中英

WPF C#中的Tabcontrol

[英]Tabcontrol in WPF C#

現在我正在使用tabcontrol來排列我的UI。 首先,我將按鈕放在tabcontrol之外; 但是,當我將按鈕放入tabcontrol時,它給出了消息, Object reference not set to an object instance 有人知道我為什么收到此消息嗎?

已編輯

以下是我的xaml:

<Window x:Class="StudySystem.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="UI" Height="600" Width="811" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:my="clr-namespace:StudySystem" Loaded="Window_Loaded">
    <Grid Width="791">
        <Grid.RowDefinitions>
            <RowDefinition Height="129*" />
            <RowDefinition Height="432*" />
        </Grid.RowDefinitions>
        <TabControl Margin="2,0,0,42">
            <TabItem Header="Book Info" >
                <Grid ShowGridLines="False">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="100" />
                        <ColumnDefinition Width="150" />
                        <ColumnDefinition Width="150" />
                        <ColumnDefinition Width="178*" />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="22*" />
                    </Grid.RowDefinitions>
                    <TextBlock Text="Book Code:" Height="25" Margin="0,15,0,45"></TextBlock>
                    <TextBox Name="txtCode" Grid.Column="1" Margin="2,15,0,51" 
                             Width="148"></TextBox>
                    <TextBlock Grid.Row="1" Text="Title:" Margin="0,1,0,33" Height="18"></TextBlock>
                    <TextBox Name="txtTitle" Grid.Row="1" Grid.Column="1" Margin="2,1,148,32" Grid.ColumnSpan="2"></TextBox>

                    <TextBlock Grid.Row="3" Text="Author:" Margin="0,5,0,33" Height="17"></TextBlock>
                    <TextBox Name="txtAuthor" Grid.Row="3" Grid.Column="1" Margin="0,6,0,30"></TextBox>
                    <Button Content="OK" Grid.Row="4" Grid.Column="1" Margin="0,1,0,37"></Button>
                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</Window>

我之前已經看過這一點,它的代碼在創建表單之前引用了表單中的內容。 檢查呼叫的順序。

在Windows標記內,我添加了此代碼,對我來說它可以正常工作...

   <Grid Width="auto">
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="432*" />
    </Grid.RowDefinitions>
    <TabControl Grid.Row="1">
        <TabItem Header="Book Info" >
            <Grid ShowGridLines="False">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="100" />
                    <ColumnDefinition Width="150" />
                    <ColumnDefinition Width="150" />
                    <ColumnDefinition Width="178*" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="22*" />
                </Grid.RowDefinitions>
                <TextBlock Text="Book Code:" Height="25" Margin="0,15,0,45"> </TextBlock>
                <TextBox Name="txtCode" Grid.Column="1" Margin="2,15,0,51" 
                         Width="148"></TextBox>
                <TextBlock Grid.Row="1" Text="Title:" Margin="0,1,0,33" Height="18"></TextBlock>
                <TextBox Name="txtTitle" Grid.Row="1" Grid.Column="1" Margin="2,1,148,32" Grid.ColumnSpan="2"></TextBox>

                <TextBlock Grid.Row="3" Text="Author:" Margin="0,5,0,33" Height="17"></TextBlock>
                <TextBox Name="txtAuthor" Grid.Row="3" Grid.Column="1" Margin="0,6,0,30"></TextBox>
                <Button Content="OK" Grid.Row="4" Grid.Column="1" Margin="0,1,0,37"></Button>
              </Grid>
           </TabItem>
       </TabControl>
   </Grid>

您在window_loaded中提到的內容?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM