Установленные компоненты не обнаружены. Не удается разрешить TargetName HighContrastBorder - UWP Windows 10

мойCommandBarимеет свойство IsOpen, установленное в true на XAML, и поэтому текст is для каждой кнопки виден, так как я хочу, чтобы описания оставались видимыми.

Когда я нажимаю на кнопку с эллипсами, она скрывает текст, и во второй раз, когда я нажимаю на нее, я получаю следующую ошибку:

No installed components were detected. Cannot resolve TargetName HighContrastBorder.

С пользовательским интерфейсом происходит что-то неловкое, и, возможно, это связано с этим, но я не могу понять, что и почему:

Как вы можете видеть, текст моих кнопок обрезан для различных кнопок, которые я отображаю:

Код мудрый, в этом нет ничего особенного, насколько я вижу:

<Page.BottomAppBar>
    <CommandBar IsOpen="True" 
                ClosedDisplayMode="Compact" 
                IsSticky="True"
                Visibility="{Binding 
                CommandBarViewModel.IsCommandBarVisible, 
                Converter={StaticResource BoolToVisibilityConverter}}"
                Background="{ThemeResource SystemControlBackgroundAccentBrush}">

        <AppBarButton 
            Icon="Add" 
            Label="Add" 
            Foreground="White"
            Command="{Binding CommandBarViewModel.AddCommand}"
            Visibility="{Binding CommandBarViewModel.IsAddVisible,
                         Converter={StaticResource BoolToVisibilityConverter}}"/>

        <AppBarButton 
            Icon="Refresh" 
            Label="Refresh" 
            Foreground="White" 
            Command="{Binding CommandBarViewModel.RefreshListCommand}" 
            Visibility="{Binding 
            CommandBarViewModel.IsRefreshListVisible, 
            Converter={StaticResource BoolToVisibilityConverter}}"/>
    </CommandBar>
</Page.BottomAppBar>

InnerException отсутствует, и исключение выдается из App.g.i.cs

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
 UnhandledException += (sender, e) =>
        {
            if (global::System.Diagnostics.Debugger.IsAttached) 
            global::System.Diagnostics.Debugger.Break();
        };
#endif

Любые идеи о моей проблеме, то есть обрезке текста и необработанном исключении?

Спасибо

ОБНОВЛЕНИЕ - 1:

Когда я удаляю свойство binded (CommandBarViewModel.IsCommandBarVisible) отVisible собственность дляCommandBar и жестко закодировать этоVisibleошибка перемещается вниз по строке и вместо того, чтобы возникать в App.g.i.cs, теперь она имеет свойство привязки первой кнопки, которую пытается установить видимость на i.e.

        <AppBarButton 
            Icon="Add" 
            Label="Add" 
            Foreground="White"
            Command="{Binding CommandBarViewModel.AddCommand}"
            Visibility="{Binding CommandBarViewModel.IsAddVisible,
                         Converter={StaticResource BoolToVisibilityConverter}}"/>

Но на этот раз я получаю следующую ошибку:

An exception of type 'System.Runtime.InteropServices.COMException' 
occurred in GalaSoft.MvvmLight.dll but was not handled in user code

WinRT information: Cannot resolve TargetName HighContrastBorder.

Additional information: No installed components were detected.

Похоже, как вы можете видеть, но, похоже, это происходит от MVVMLight ??? Не имеет смысла!

Любые предложения / идеи о том, как решить эту проблему?

ОБНОВЛЕНИЕ - 2:

Если я удаляю все свойства Visibility (и соответствующую им привязку), команда отображается соответствующим образом (то есть, больше нет обрезанного текста), и я могу снова и снова нажимать кнопку эллипсов, и она больше не падает !!

Так что это определенно связано с видимостью и привязкой его к свойству с моделью представления, но что именно, я понятия не имею.

Может быть, ViewModel создается только при загрузке страницы, и на этом этапе уже слишком поздно для CommandBar и его кнопок для правильной инициализации.

Странно, так как все, что касается отображения / скрытия кнопок, работает должным образом, за исключением того, что мой текст обрезан, и я не могу нажать на кнопку с эллипсом или она вылетает.

ОБНОВЛЕНИЕ - 3:

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

открытый класс AppShellViewModel {public void AppShellViewModel {this.CommandBarViewModel.IsCommandBarVisible = true; this.CommandBarViewModel.IsAddVisible = true; this.CommandBarViewModel.IsRefreshVisible = true; this.CommandBarViewModel.IsCancelVisible = true; }

...

\\Hide buttons accordingly in the various parts of your app.
this.CommandBarViewModel.IsCancelVisible = false;

}

Лично я чувствую, что это ошибка с элементом управления CommandBar и кнопками, так как я должен быть в состоянии скрыть его (и его кнопки) с самого начала, и он должен

а) быть в состоянии справиться с этим без каких-либо ошибок. б) уметь правильно «перерисовывать» себя, не обрезая текст.

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

ОБНОВЛЕНИЕ - 4:

Вот актуальный код. Я максимально упростил его (то есть удалил пространства имен, шаблоны данных, основное содержимое и т. Д.), Оставив только панель команд и ее кнопки. Надеюсь, это поможет.

Как вы можете видеть при использовании mvvmlight, мой источник настроен наLocatorи мой путь установлен на соответствующийViewModelв этом случае AppShellViewModel.

Тем не менее, как объяснено Грейс, когда я использую x: bind вместо привязки, я получаю следующую ошибку:

Invalid binding path 'CommandBarViewModel.IsCommandBarVisible' :
Property 'CommandBarViewModel' can't be found on type 'AppShell'    
MyApp ..\MyApp\Views\AppShell.xaml


Код XAML:

    <Page.Resources>
        <converters:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
        <converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
        <x:Double x:Key="EllipseDimension">30</x:Double>
    </Page.Resources>

    <Page.BottomAppBar>
        <CommandBar x:Name="AppBar"
                    IsOpen="{x:Bind CommandBarViewModel.IsCommandBarVisible}" 
                    ClosedDisplayMode="Compact" 
                    IsSticky="{x:Bind CommandBarViewModel.IsCommandBarVisible}"
                    Visibility="{x:Bind CommandBarViewModel.IsCommandBarVisible, 
Converter={StaticResource BoolToVisibilityConverter}}"
                    Background="{ThemeResource SystemControlBackgroundAccentBrush}"
                    IsEnabled="{x:Bind IsNotBusy}">
            <AppBarButton 
                Icon="Add" 
                Label="Add" 
                Foreground="White"
                Command="{x:Bind CommandBarViewModel.RegisterCommand}"
                Visibility="{x:Bind CommandBarViewModel.IsRegisterVisible, 
Converter={StaticResource BoolToVisibilityConverter}}"/>

            <AppBarButton 
                Icon="Refresh" 
                Label="Refresh" 
                Foreground="White" 
                Command="{x:Bind CommandBarViewModel.RefreshListCommand}" 
                Visibility="{x:Bind CommandBarViewModel.IsRefreshListVisible, 
Converter={StaticResource BoolToVisibilityConverter}}"/>
        </CommandBar>
    </Page.BottomAppBar>
</Page>

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос