C # WPF - проблема с текстовым полем дизайна материала - PullRequest
0 голосов
/ 25 ноября 2018

Я новичок в программировании и начал подавать заявку в школу.Для этого я использую C # WPF, а для красивого приложения я установил Material Design.

Сначала я запустил демонстрацию Material Design, где вы можете увидеть, что вы можете использовать и т.д. с хорошим для копирования.Поэтому после быстрого просмотра я нашел хороший TextBox с рамкой и флажком поверх него.Код для копирования был таким:

<StackPanel>
  <CheckBox
    x:Name="MaterialDesignOutlinedTextFieldTextBoxEnabledComboBox"
    IsChecked="True"
    Margin="32,0,0,8">
    Enabled
  </CheckBox>
  <TextBox
    Style="{StaticResource MaterialDesignOutlinedTextFieldTextBox}"
    Margin="32,0,0,0"
    VerticalAlignment="Top"
    Height="100"
    AcceptsReturn="True"
    TextWrapping="Wrap"
    VerticalScrollBarVisibility="Auto"
    materialDesign:HintAssist.Hint="This is a text area"
    IsEnabled="{Binding Path=IsChecked, 
    ElementName=MaterialDesignOutlinedTextFieldTextBoxEnabledComboBox}" />
 </StackPanel>

. Поскольку мне просто нужно было текстовое поле, я удалил код CheckBox и реализовал остальное внутри своего приложения.Теперь код выглядит так:

<TextBox
    Style="{StaticResource MaterialDesignOutlinedTextFieldTextBox}"
    Margin="32,0,0,0"
    VerticalAlignment="Top"
    Height="100"
    AcceptsReturn="True"
    TextWrapping="Wrap"
    VerticalScrollBarVisibility="Auto"
    materialDesign:HintAssist.Hint="This is a text area"
    />

Проблема в том, что я не могу редактировать текстовое поле.Я предполагаю, что TextBox связан с CheckBox и, поскольку я удалил его, я почему-то больше не могу писать в нем.Все работает нормально со стандартным текстовым полем, но с скопированным кодом я ничего не могу сделать, просто посмотрите на текстовое поле с закругленной границей.

Так что кто-нибудь может мне помочь, как я могу реализовать текстовое поле с этой границей ии так, пока я могу его редактировать?Я не знаю никакого решения для этого прямо сейчас, поэтому я был бы признателен, если бы кто-нибудь мог помочь мне там.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 25 ноября 2018

Попробуйте следовать их Super Quick Start руководству.

Ниже приведена модифицированная версия, в которой используется TextBox:

  • Startновый проект WPF

  • Установить MaterialDesignThemes nuget: Install-Package MaterialDesignThemes

  • Изменить файл App.xaml следующим образом:

    <Application ...>
        <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
                    <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
                    <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />
                    <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Application.Resources>
    </Application>
    
  • Измените файл MainWindow.xaml следующим образом:

    <Window
        xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
        ...>
        <StackPanel>
            <TextBox
                materialDesign:HintAssist.Hint="Hey, that's pretty good!"
                Style="{StaticResource MaterialDesignOutlinedTextFieldTextBox}" />
        </StackPanel>
    </Window>
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...