Проверка данных WPF является основной темой интерфейса - PullRequest
0 голосов
/ 02 июня 2010

Я создал приложение WPF и смог заставить работать проверку благодаря сообщениям на stackoverflow. Единственная проблема, которую я имею, состоит в том, что она переопределяет тему, которую я использую. Например, тема делает текстовые поля похожими на круглый прямоугольник, но после установки привязки они выглядят как текстовые поля по умолчанию. вот мой код:

<Button.Style>
            <Style TargetType="{x:Type Button}">
                <Setter Property="IsEnabled" Value="false" />

                <Style.Triggers>
                <!-- Require the controls to be valid in order to press OK -->
                <MultiDataTrigger>
                        <MultiDataTrigger.Conditions>
                            <Condition Binding="{Binding ElementName=txtEmail, Path=(Validation.HasError)}" Value="false" />

                        </MultiDataTrigger.Conditions>
                        <Setter Property="IsEnabled" Value="true" />
                    </MultiDataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>

код позади:

//Form loaded event code
txtEmail.GetBindingExpression(TextBox.TextProperty).UpdateSource();

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

1 Ответ

2 голосов
/ 02 июня 2010

Не уверен, что это корневая проблема, но попробуйте добавить BasedOn="{StaticResource {x:Type Button}}" к элементу стиля.

Button.Style> 
            <Style TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}"> 
...
...