2017-02-02 1 views
0

Ich versuche, ein Ressourcenverzeichnis für ComboBox hinzufügen und bin immer diese Fehlermeldung, nachdem ich die stlye angewandt (der Stil wird nicht funktionieren/show):Fehler - Kann nicht finden Ressource mit dem Namen ‚ComboBoxFocusVisual‘

Eine nicht behandelte Ausnahme des Typs 'System.Windows.Markup.XamlParseException' aufgetreten in PresentationFramework.dll

Zusätzliche Informationen: Kann nicht Ressource 'ComboBoxFocusVisual' genannt finden. Bei Ressourcennamen wird zwischen Groß- und Kleinschreibung unterschieden

Was hätte schiefgehen können? Ich habe versucht, das Projekt neu zu laden und zu bauen.

Dies ist mein Code:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       xmlns:local="clr-namespace:Test" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> 

<Style x:Key="ComboBoxx" TargetType="{x:Type ComboBox}"> 
    <Setter Property="FocusVisualStyle" Value="{StaticResource ComboBoxFocusVisual}"/> 
    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/> 
    <Setter Property="Background" Value="{StaticResource ButtonNormalBackground}"/> 
    <Setter Property="BorderBrush" Value="{StaticResource ButtonNormalBorder}"/> 
    <Setter Property="BorderThickness" Value="1"/> 
    <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/> 
    <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> 
    <Setter Property="Padding" Value="4,3"/> 
    <Setter Property="ScrollViewer.CanContentScroll" Value="true"/> 
    <Setter Property="ScrollViewer.PanningMode" Value="Both"/> 
    <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ComboBox}"> 
       <Grid x:Name="MainGrid" SnapsToDevicePixels="true"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="0"/> 
        </Grid.ColumnDefinitions> 
        <Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom"> 
         <Border CornerRadius="5,5,5,5" MinWidth="{Binding ActualWidth, ElementName=MainGrid}" x:Name="DropDownBorder" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1" Background="#50FFFFFF" Height="100" d:IsHidden="True"> 
          <ScrollViewer x:Name="DropDownScrollViewer" Foreground="{x:Null}" Background="{x:Null}" Template="{DynamicResource ScrollViewerControlTemplate1}"> 
           <Grid RenderOptions.ClearTypeHint="Enabled"> 
            <ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" OpacityMask="#FFFBFBFB"/> 
           </Grid> 
          </ScrollViewer> 
         </Border> 
        </Popup> 
        <ToggleButton BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxReadonlyToggleButton}"/> 
        <ContentPresenter ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" Content="{TemplateBinding SelectionBoxItem}" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="false" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 
       </Grid> 
       <ControlTemplate.Triggers> 
        <Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="true"/> 
        <Trigger Property="HasItems" Value="false"> 
         <Setter Property="Height" TargetName="DropDownBorder" Value="95"/> 
        </Trigger> 
        <Trigger Property="IsEnabled" Value="false"> 
         <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> 
         <Setter Property="Background" Value="#FFF4F4F4"/> 
        </Trigger> 
        <MultiTrigger> 
         <MultiTrigger.Conditions> 
          <Condition Property="IsGrouping" Value="true"/> 
          <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/> 
         </MultiTrigger.Conditions> 
         <Setter Property="ScrollViewer.CanContentScroll" Value="false"/> 
        </MultiTrigger> 
        <Trigger Property="ScrollViewer.CanContentScroll" SourceName="DropDownScrollViewer" Value="false"/> 
       </ControlTemplate.Triggers> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
    <Style.Triggers> 
     <Trigger Property="IsEditable" Value="true"> 
      <Setter Property="BorderBrush" Value="{StaticResource TextBoxBorder}"/> 
      <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/> 
      <Setter Property="IsTabStop" Value="false"/> 
      <Setter Property="Padding" Value="3"/> 
      <Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

 <ResourceDictionary Source="C:\Users\PID Projekt I5\Desktop\SendMe\ArduinoSMS_sender\Resource Dictionary\ComboBoxx.xaml"/> 
+0

Wo ist all Ihre StaticResource definieren? – Safe

+0

Ich bin mir nicht sicher, was Sie meinen, aber meine Dateien sind in einer Subdatei in der Lösung. Jedes andere Ressourcenwörterbuch funktioniert – someone1

Antwort

0

Fügen Sie den folgenden fehlenden Stil über dem ComboBox-Stil:

<Style x:Key="FocusVisual"> 
    <Setter Property="Control.Template"> 
     <Setter.Value> 
      <ControlTemplate> 
       <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

Sie werden natürlich die „ButtonNormalBackground definieren müssen "," ButtonNormalBorder "und alle anderen Ressourcen, auf die Sie auch verweisen. Sie sollten in der Lage sein, diese von der gleichen Stelle zu bekommen, wo Sie den Stil bekommen haben ...

+0

Warum fehlen diese Stile? Dies ist das erste Mal, dass dies passierte – someone1

+0

Okay, ich denke, das ist, weil ich diese Art im Anwendungsbereich in Blend definiert – someone1

+0

"Wie kommen diese Stile fehlen?" - Da Sie sie nicht zu Ihrem ResourceDictionary hinzugefügt haben, müssen Sie * alle Ressourcen definieren, die Sie irgendwo im Bereich verwenden. – mm8

Verwandte Themen