WPF i importowanie kontrolki z Window do MainWindow

0

Witam,któryś już raz z kolei uczę się o kontrolkach WPF i stylowaniu ich w celu uzyskania lepszych efektów.
Znalazłem tutorial gdzie ktoś zamiast używać UserControl użył po prostu Window.Niestety nie pokazano jak stamtąd zaimportować to do innego okna bez przepisywania całego (długiego) kodu.Czy ktoś z was wie jak to zrobić ?

Próbowałem tego czego używałem przy UserControl,ale nie działa.

0

Nie rozumiem o co Ci chodzi. Może powiedz jaki tutorial.
Yyy może ctrl+c ctrl+v ? :D

0

Jak napiszesz co to jest to to i co to jest to czego używałem to pewnie znajdzie się rozwiązanie. ;)

0

Ja to wrzuciłem do UserControl i działa, tak samo możesz to wrzucić do od razu do MainWindow

<UserControl x:Class="CodeArenaBotWpf.UserControl1"
             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">
    <UserControl.Resources>
        <LinearGradientBrush x:Key="SelectedBorderBrush" StartPoint="0,0" EndPoint="1,0">
            <GradientBrush.GradientStops>
                <GradientStopCollection>
                    <GradientStop Color="Gray" Offset="0.965"/>
                    <GradientStop Color="WhiteSmoke" Offset="1.0"/>
                </GradientStopCollection>
            </GradientBrush.GradientStops>
        </LinearGradientBrush>
        <Style TargetType="{x:Type TabControl}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabControl}">
                        <DockPanel>
                            <Border
                            Panel.ZIndex="50"
                            Margin="0,100,-1,0" 
                            Background="#FFAAAAAA"
                            BorderBrush="Gray"
                            CornerRadius="7,0,0,7"
                            BorderThickness="1">
                                <TabPanel
                                Margin="0,0,0,0"
                                IsItemsHost="True" />
                            </Border>
                            <Border
                            Background="WhiteSmoke"
                            BorderBrush="Gray"
                            BorderThickness="1"
                            CornerRadius="7,7,7,0" >
                                <ContentPresenter 
                                ContentSource="SelectedContent" />
                            </Border>
                        </DockPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
        <Style TargetType="{x:Type TabItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type TabItem}">
                        <Grid>
                            <Border Name="Border" 
                            Background="#FFAAAAAA"
                            CornerRadius="7,0,0,0"
                            BorderBrush="Gray"
                            BorderThickness="0,0,0,1"
                            Panel.ZIndex="50"
                            Margin="0,0,0,0"
                                >

                                <ContentPresenter x:Name="ContentSite"             
                                VerticalAlignment="Center"
                                HorizontalAlignment="Left"
                                ContentSource="Header"
                                Margin="10,10,10,10"/>
                            </Border>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter Property="Panel.ZIndex" Value="100" />
                                <Setter Property="Margin" Value="0,0,-2,0" />
                                <Setter TargetName="Border" 
                                    Property="BorderBrush" 
                                    Value="{StaticResource SelectedBorderBrush}"/>
                                <Setter TargetName="Border" 
                                Property="Background" 
                                Value="WhiteSmoke" />
                                <Setter TargetName="Border" 
                                Property="CornerRadius" 
                                Value="0,0,0,0" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </UserControl.Resources>
    <Grid>
        <TabControl Name="_menuTabControl" TabStripPlacement="Left" Margin="5">
            <TabItem Name="_tabItem1" Header="First Tab Item" ></TabItem>

            <TabItem Name="_tabItem2" Header="Second Tab Item" >
                <Grid />
            </TabItem>
            <TabItem Name="_tabItem3" Header="Third Tab Item" >
                <Grid />
            </TabItem>
        </TabControl>
    </Grid>
</UserControl>
0

Odnośnie dyskusji w komentarzach powyżej jak dodasz nowy UserControl powinien się on pojawić w toolbox i wystarczy przeciągnąć na okno. ;)

Untitled.png

Jak się nie pojawia może pomóc reset toolboxa:

Reset.png

1 użytkowników online, w tym zalogowanych: 0, gości: 1