1

基本的なタブを作成し、各タブに異なるボタンのセットを設定したいのですが、ボタンはメインウィンドウに追加され、タブは追加されません。コードに移動してボタンを切り取り、目的のタブに貼り付けると、1つのボタンでのみ機能し、2番目のボタンでエラーメッセージが表示されます。

「オブジェクトTabItemにはすでに子があり、追加Button.TabItemできません。子を1つだけ受け入れることができます。」

コードは次のようになります。

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="394" Width="570">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0*" />
        <ColumnDefinition Width="548*" />
    </Grid.ColumnDefinitions>
    <TabControl Margin="9,30,11,10" Name="tabControl1" Grid.Column="1" SelectionChanged="tabControl1_SelectionChanged">
        <TabItem Name="Admin" Header="Admin">

        </TabItem>
        <TabItem Name="Staff" Header="Staff" />
        <TabItem Name="Student" Header="Student" />
        <TabItem Name="Diary" Header="Diary" />
        <TabItem Name="Timetables" Header="Timetables" />
        <TabItem Name="Assignments" Header="Assignments" />
        <TabItem Name="Courses" Header="Courses" />
    </TabControl>
    <Menu Height="16" Name="menu1" VerticalAlignment="Top" Grid.Column="1" />
    <Button Grid.Column="1" Height="23" HorizontalAlignment="Left" Margin="18,64,0,0" Name="button1" VerticalAlignment="Top" Width="118">Add/Edit Student</Button>
</Grid>

「管理者」タブ内に「button1」を実装したい

動作しますが、2番目のボタンを実行すると失敗します

前もって感謝します

4

3 に答える 3

7

などを追加し<StackPanel>,<Grid>, <Border>,ます。つまり、複数の子を含むことができる任意の要素を追加し<Window> ます。ボタン、トグルボタンなど

<TabItem>
<Grid>
.......
</Grid>
</TabItem
于 2010-02-11T15:44:46.977 に答える
3

TabItemは ContentControl クラスから継承され、コンテンツとして 1 つのオブジェクトしか許可されないため、最初にCanvasGridなどの複数のオブジェクトを許可するコントロールを追加してから、そのオブジェクトにすべてのボタンを追加する必要があります。

于 2010-02-11T15:42:06.857 に答える
1

TabItem には子として単一の UIElement しか含めることができないため、このエラーが発生しています。すべての UIElements を配置するには、ある種のパネル (つまり、Grid、DockPanel、StackPanel、Canvas...) を使用する必要があります。

于 2010-02-11T15:46:14.013 に答える