2017-06-13 2 views
0

togglebuttonをコントロールボックスで使用するようにカスタマイズしました。私はそれの上に推移したときしかし、それは、この例外がスローされました:XamlParseException ::「DefaultStyle」という名前のリソースが見つかりません

System.Windows.Markup.XamlParseExceptionを:「System.Windows.Markup.StaticResourceHolder」に値を指定して「」は例外をスローしました。」

内部例外:

はDefaultStyle '「という名前のリソースを見つけることができません'。リソース名は大文字と小文字を区別します

私のプロジェクト全体で何も名前が付けられていないか、名前DefaultStyleが使用されているので、奇妙です。

少し掘り下げた後、私はエラーが遅れていることに気づいたので、今回私はtooltipを追加しました。これは問題を引き起こしているようですが、私は理由を理解できません!ここで

はXAMLです:

<Style x:Key="ToggleClose" TargetType="{x:Type ToggleButton}"> 
    <Setter Property="Background" Value="Transparent" /> 
    <Setter Property="SnapsToDevicePixels" Value="True" /> 

    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ToggleButton}"> 
       <Grid x:Name="_Container" Background="#00000000"> 
        <ContentPresenter x:Name="MyContentPresenter" Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
        <Path x:Name="_Icon" SnapsToDevicePixels="True" ToolTip="Close window" Width="18" Height="18" Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center" Stretch="Fill" Stroke="#4D4D4D" StrokeThickness="1" Data="M0,0 L1,1 M0,1 L1,0" /> 
       </Grid> 

       <ControlTemplate.Triggers> 
        <Trigger Property="IsMouseOver" Value="True"> 
         <Setter TargetName="_Container" Property="Background" Value="#80FF0000" /> 
         <Setter TargetName="_Icon" Property="Stroke" Value="#2D2D2D" /> 
        </Trigger> 

        <Trigger Property="IsChecked" Value="True"> 
         <Setter Property="local:WindowBehaviours.Close" Value="True" /> 
        </Trigger> 
       </ControlTemplate.Triggers> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

はEDIT:

[OK]を、例外は、非常に珍しいですUI Debugging Tools for XAMLで、任意のtooltipだけではなく、togglebuttonで投げているようです。

EDIT 2:

これらは私が

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Resources/Objects/Customviewer.xaml"/> 
      <ResourceDictionary Source="Resources/Objects/CustomScroller.xaml"/> 
      <ResourceDictionary Source="Resources/Objects/CustomButtons.xaml"/> 
      <ResourceDictionary Source="Resources/Rooks/Alising.xaml"/> 
      <ResourceDictionary Source="Resources/Themes/VisualOne.xaml"/> 
      <ResourceDictionary Source="Resources/Themes/VisualDark.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

EDIT 3を使用しているリソースは次のとおりです。

<Popup>もスロー同じ例外と同じ問題を抱えています。

+0

あなたの-1の理由を教えてください。 – Explisam

+0

あなたのコードのどこか、おそらくあなたのリソースディクショナリのどこかに、{StaticResource}マークアップ拡張があり、見つからないリソースを参照しています。誰でもあなたをさらに援助できるように、問題の完全なレポを提供する必要があります:https://stackoverflow.com/help/mcveあなたはレポを提供しなかったのでおそらくダウンボートを持っています。 – mm8

+0

@ mm8最後の作業ビルドからの最近の変更をすべて確認しましたが、存在しないリソースは指摘されていませんでした。だれかが下線を引いた者が調査することさえ気にしなかった問題の核心だった。 – Explisam

答えて

0

私のところでうまく動作しています...「DefaultStyle」を取得しているうちに何かが見つからないと思います。 ...また

<ToggleButton Name="CloseButton" Style="{StaticResource ToggleClose}" Grid.Row="1" Grid.Column="1" /> 

あなたの辞書をチェックし、あなたがXAMLコードとして挙げたものは何でも

XAML-

<UserControl.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="../Style/Styles.xaml"/> 
       <ResourceDictionary x:Name="DefaultStyle" 
       Source="Dictionary1.xaml">    
       </ResourceDictionary> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </UserControl.Resources> 

すべてが私の 'Dictionary1.xaml' であり、その後、私は中にそれを使用していますWindowBehavioursクラスのエラーは無料です。まだ問題がある場合は教えてください。

+0

それは問題です、私は 'DefaultSyle'という名前のスタイルを持っておらず、何もその名前を使用していません。では、どこから来たのですか? – Explisam

+0

Strange !!!!私はあなたがトグルボタンのためにstaticResourceをどのように使っているのか分かります。エラーはそれに関連しています。 – Lina

+0

' Explisam

関連する問題