マルチバインドが機能しません。 「MatrixToDataViewConverter」という名前は、xaml内の名前空間 'clr-NameSpace:myNamespace'には存在しません(私はその行にマークを付けました)。どうして?マルチバインドを設定できません
XAML
<Window x:Class="myNamespace.PopMeUp"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:app="clr-namespace:myNamespace"
Title="PopMeUp" Height="300" Width="300">
<Window.Resources>
<app:MatrixToDataViewConverter x:Key="MatrixToDataViewConverter"/> <!-- Error here-->
</Window.Resources>
<Grid>
<DataGrid>
<DataGrid.ItemsSource>
<MultiBinding Converter="{StaticResource MatrixToDataViewConverter}">
<Binding Path="ColumnHeaders"/>
<Binding Path="RowHeaders"/>
<Binding Path="Values"/>
</MultiBinding>
</DataGrid.ItemsSource>
</DataGrid>
</Grid>
</Window>
は.csファイル:
namespace myNamespace
{
/// <summary>
/// Interaction logic for PopMeUp.xaml
/// </summary>
public partial class PopMeUp : Window
{
public PopMeUp(MWArray[] Result, int rows, int columns)
{
InitializeComponent();
}
public class MatrixToDataViewConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var myDataTable = new DataTable();
return myDataTable.DefaultView;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
}
なぜあなたの 'ResultPopUp'クラスは' IMultiValueConverter'を実装していますか? あなたは 'MatrixToDataViewConverter'を別ファイルに置いてみましたか、それとも到達可能なように少なくともResultPopUpを外に出してみましたか? –
'MatrixToDataViewConverter'をネストしたクラスとして定義したのはなぜですか? –
申し訳ありませんが、IMultiValueConverterをResultPopUpクラスから離れるのを忘れてしまいました。私は別のクラスに入れようとしましたが、うまくいきません。同じエラーが発生しました。 @MightyBadaboom – Anna