Как разработать Заголовок Расширителя WPF?

Вам необходимо объявить переменную currClient на уровне класса и инициализировать ее в конструкторе. После этого вы сможете использовать currClient в других методах.

  namespace ClientsCatalgoWindowsForms
{
    public partial class GeneralForm : Form
    {
        Client CurrClient = null;
        public GeneralForm(string ClientName)
        {
            string FormName = ClientName;

           // Client CurrClient = new Client(FormName);
            CurrClient = new Client();
            InitializeComponent();


        //ClientForm(ClientName);
        }

        private void OkButton_Click(object sender, EventArgs e)
        {
            //CreateBatch(true);



            CreateObjectsArray();

            CreateControlArray(false);

            //CreateBatch(0);

            Application.Exit();
        }
50
задан Dave Clemmer 15 August 2011 в 06:57
поделиться

2 ответа

Я объединил некоторый XAML от Josh Smith и MSDN и предложил решение. Действительно, управление (al наименьшее заголовок) должно быть перешаблонным.

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400">
    <StackPanel>
        <StackPanel.Resources>

            <Style TargetType="Border" x:Key="RacePitBorderStyle" >
                <Style.Resources>
                    <LinearGradientBrush x:Key="BackBrush" StartPoint="0.5,0" EndPoint="0.5,1">
                        <GradientStop Color="#EF3132" Offset="0.1" />
                        <GradientStop Color="#D62B2B" Offset="0.9" />
                    </LinearGradientBrush>
                </Style.Resources>
                <Setter Property="Background" Value="{StaticResource BackBrush}"/>
            </Style>

            <DataTemplate x:Key="titleText">
                <Border Style="{StaticResource RacePitBorderStyle}" Height="24">
                    <TextBlock Text="{Binding}" 
                        Margin="4 0"
                        VerticalAlignment="Center"
                        Foreground="White"
                        FontSize="11" 
                        FontWeight="Normal"
                        Width="{Binding
                        RelativeSource={RelativeSource
                        Mode=FindAncestor,
                        AncestorType={x:Type Expander}},
                        Path=ActualWidth}"
                        TextWrapping="Wrap"/>
                </Border>
            </DataTemplate>

            <Style TargetType="{x:Type Expander}">
                <Setter Property="HeaderTemplate" Value="{StaticResource titleText}"/>
            </Style>

        </StackPanel.Resources>

        <Expander Name="hcontCtrl" Header="This is the header.">
            <StackPanel>
                <TextBox>This is a textbox</TextBox>
                <Button>A button</Button>
            </StackPanel>
        </Expander>

    </StackPanel>
</Page>
53
ответ дан Vasile Tomoiaga 7 November 2019 в 11:02
поделиться

Зависит, что Вы хотите разработать - можно разработать любую часть его. Если Вы хотите изменить содержание в заголовке, просто поместить весь Ваш UI в Расширитель. Свойство Header, и это покажет в области заголовка.

, если это не удовлетворяет Ваши потребности, вероятно, необходимо повторно обработать управление по шаблону. Смотрите на шаблоны управления, поставленные в WPF здесь

6
ответ дан Dominic Hopton 7 November 2019 в 11:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: