none
{DependencyProperty.UnsetValue} не является допустимым значением для свойства FocusVisualStyle. RRS feed

  • Общие обсуждения

  • Добрый день, проблема следующего характера:

    Имеется главное WPF окно из которого вызывается дополнительное WPF окно xaml код которого приведен ниже:

    <Window x:Class="xMeter.Set.View.SimpleSetView"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:xMeter.Set.View"
            xmlns:viewmodel="clr-namespace:xMeter.Set.ViewModel"
            mc:Ignorable="d"
            Title="Запись" Height="300" Width="400" WindowStartupLocation="CenterOwner" SizeToContent="Height" ResizeMode="NoResize">
        <Window.DataContext>
            <viewmodel:SimpleSetViewModel/>
        </Window.DataContext>
        <StackPanel Orientation="Vertical" d:LayoutOverrides="Height" Margin="20">
            <TextBlock x:Name="textBlock" TextWrapping="Wrap" Text="Старое значение:" Style="{DynamicResource Header2}"/>
            <TextBox x:Name="textBox" Height="23" TextWrapping="Wrap" Text="{Binding OldValue}" Margin="0,10,0,0"/>
            <TextBlock x:Name="textBlock1" TextWrapping="Wrap" Text="Новое значение:" Style="{DynamicResource Header2}" Margin="0,20,0,0"/>
            <TextBox x:Name="textBox1" Height="23" TextWrapping="Wrap" Text="{Binding NewValue}" Margin="0,10,0,0"/>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,20,0,0">
                <Button x:Name="button" Content="Записать" Width="100" Margin="0,0,20,0" />
                <Button x:Name="button1" Content="Отмена" Width="100"/>
            </StackPanel>
        </StackPanel>
    </Window>

    В дополнительном окне имеется два элемента TextBox. Возьмем для примера первый TextBox, так как описанная ниже ошибка справедлива для всех элементов TextBox. Если дополнительное окно закрыть принудительно (крестик в правом верхнем углу), а до этого в TextBox ввести какие-нибудь символы и при этом фокус не убирать с элемента TextBox (т.е. выполнить следующие действия: кликнуть мышкой на элемент TextBox -> ввести что-нибудь -> кликнуть мышкой на крестик в верхнем правом углу), то возникает следующее исключение:

    Необработанное исключение типа "System.InvalidOperationException" в WindowsBase.dll

    Дополнительные сведения: "{DependencyProperty.UnsetValue}" не является допустимым значением для свойства "FocusVisualStyle".

    Однако, если фокус убрать с элемента TextBox (например кликнуть мышкой на пустое место формы) то подобное исключение не возникает.

    В чем может проблема и как её исправить?

    Буду рад получить ответ.


    17 июля 2016 г. 5:25

Все ответы

  • Проблема шире, чем вам кажется, поэтому приведенного XAML явно мало. Смысл в том, что в пустом WPF приложении, дублирующем только описанное поведение, таких проблем не будет. Выходит искать источник проблемы нужны в шаблонах приложения или каких то доп. классах, которые вы используете. В показанном XAML все хорошо.

    VB.Net - WPF, UWP

    17 июля 2016 г. 8:21
    Отвечающий