1 つの VS 2012 ソリューションに 3 つのプロジェクトがあります。以下は、このエラーをスローしている XAML ファイルがプロジェクト A にあります。このBmpImage.cs
ファイルは、同じソリューション内の別のプロジェクト B に存在します。このファイルには、すべての拡張機能とヘルパー ファイルが含まれ、必要なすべてのメソッドとコードが含まれています。プロジェクト A はプロジェクト B を参照します。
誰でも助けてくれますか?私の仕事はここにありますが、行き詰まっています。他の同様の質問をすべて読みましたが、この問題に対処するものはありません。
このエラーが発生しています:
System.Windows.Data エラー: 4 : 参照 'RelativeSource FindAncestor、AncestorType='System.Windows.Controls.Button'、AncestorLevel='1'' でバインディングのソースが見つかりません。BindingExpression:Path=IsEnabled; DataItem=null; ターゲット要素は 'BmpImage' (Name=''); ターゲット プロパティは 'NoTarget' (タイプ 'Object') です
<UserControl x:Class="MyGrid.MyPanel"
Name="_ctrl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:ex="clr-namespace:Helper.Xaml;assembly=Helper.Xaml"
xmlns:sx="clr-namespace:MyPanel.Xaml;assembly=MyPanel.Xaml">
<UserControl.Resources>
**<Style x:Key="BmpStyle" TargetType="{x:Type ex:BmpImage}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type Button}, AncestorLevel=1}, Path=IsEnabled}" Value="False">
<Setter Property="UIElement.Opacity" Value="0.3" />
</DataTrigger>
</Style.Triggers>
</Style>**
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ToolBar ToolBarTray.IsLocked="True">
<Button ToolTip="Filter..." ToolTipService.ShowOnDisabled="True" Click="Filter_OnClick">
<ex:BmpImage Source="Images/filter.png" Style="{StaticResource BmpStyle}" />
</Button>
<ToggleButton ToolTip="AutoScroll" ToolTipService.ShowOnDisabled="True" IsChecked="{Binding ElementName=Trades, Path=AutoScroll}">
<ex:BmpImage Source="Images/Autoscroll.png" Style="{StaticResource BmpStyle}" />
</ToggleButton>
</ToolBar>
<sx:PanelGrid Name="PanelGrid" Grid.Row="1" />
</Grid>
</UserControl>