Nenhum componente instalado foi detectado. Não é possível resolver o TargetName HighContrastBorder - UWP Windows 10

MinhasCommandBartem sua propriedade IsOpen definida como true em XAML e, portanto, o texto is para cada botão fica visível, pois desejo que as descrições permaneçam visíveis.

Quando clico no botão de reticências, ele oculta o texto e, na segunda vez em que clico nele, recebo o seguinte erro:

No installed components were detected. Cannot resolve TargetName HighContrastBorder.

Há algo estranho acontecendo com a interface do usuário e talvez esteja relacionado a isso, mas não consigo descobrir o que ou por quê:

Como você pode ver, o texto dos meus botões é cortado para os vários botões que estou exibindo:

Em termos de código, não há nada de especial nisso, até onde posso ver:

<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>

Não há InnerException e a exceção é lançada em 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

Alguma idéia sobre o meu problema, ou seja, recorte de texto e exceção não tratada?

obrigado

ATUALIZAÇÃO - 1:

Quando removo a propriedade binded (CommandBarViewModel.IsCommandBarVisible) deVisible propriedade para oCommandBar e codifique-o paraVisible, o erro desce a linha e, em vez de ocorrer no App.g.i.cs, agora está ocorrendo a propriedade binded do primeiro botão em que está tentando definir a visibilidade.

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

Mas desta vez, recebo o seguinte erro:

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.

Semelhante como você pode ver, mas parece estar vindo do MVVMLight ??? Não faz sentido!

Alguma sugestão / idéia sobre como resolver isso?

ATUALIZAÇÃO - 2:

Se eu remover todas as propriedades Visibility (e a ligação correspondente), o comando será exibido de acordo (ou seja, não há mais texto de corte) e posso clicar no botão de reticências repetidas vezes e não trava mais !!

Definitivamente, está relacionado à Visibility e vincula-o a uma propriedade ao modelo de visualização, mas o que exatamente, não faço ideia.

O ViewModel pode ser construído apenas quando a página é carregada e, neste estágio, é tarde demais para que o CommandBar e seus botões sejam inicializados corretamente.

Estranho como tudo em relação aos botões mostrar / ocultar funciona como esperado, exceto que meu texto é cortado e não consigo clicar no botão de reticências ou ele trava.

ATUALIZAÇÃO - 3:

Eu encontrei uma solução alternativa e não estou pulando para cima e para baixo, pois sinto que está errado, mas por enquanto isso funcionará. Para contornar esse erro, certifique-se de definir a barra de comandos e os botões como visíveis ao inicializar o meu ViewModel e oculto-os adequadamente com base na página em que ele está.

classe pública AppShellViewModel {AppShellViewModel vazio {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;

}

Pessoalmente, sinto que é um erro no controle e nos botões da CommandBar, pois devo escondê-lo (e seus botões) desde o início e deve

a) ser capaz de lidar com isso sem erros. b) ser capaz de "redesenhar" a si mesmo corretamente sem ter o texto cortado.

É claro que posso estar errado e isso pode ter algo a ver com meu código, mas, da minha perspectiva, remover a ligação de visibilidade corrige e torna visível primeiro corrige, portanto parece estar apontando para baixo.

ATUALIZAÇÃO - 4:

Aqui está o código real. Simplifiquei o máximo que pude (ou seja, removemos namespaces, DataTemplates, Main content, etc ...), deixando apenas a CommandBar e seus botões. Espero que isso ajude.

Como você pode ver ao usar o mvvmlight, minha fonte está definida comoLocatore meu caminho está definido para o relevanteViewModel, nesta instância, AppShellViewModel.

No entanto, como explicado para Grace, quando uso x: bind em vez de bind, recebo o seguinte erro:

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


Código 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>

Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion