私はコントロールをロードしているシルバーライトページを持っています。このコントロールには、コンストラクタを介して.xaml.csファイルに渡す独自のビューモデルがあります。コンパイル時にエラーが発生します。これはエラーです:カスタムコンストラクタでSilverlightコントロールをロードする
{No matching constructor found on type 'MySite.Views.SearchFlyOutWin'}
私のメインページには、私はこの
<part:SearchFlyOutWin x:Name="searchFlyOutWin" Visibility="{Binding Converter={StaticResource BooleanToVisibilityConverter}, Path=IsSearchVisible}" />
のようなコントロールをロードしようとした私のMainPage.xamlをでこの
xmlns:part="clr-namespace:MySite.Views;assembly=MySite"
LIKE「SearchFlyOutWin」を参照し、私SearchFlyOutWin.xaml.csで
コンストラクタはこの
public SearchFlyOutWin(ISearchFlyoutViewModel viewmodel)
{
InitializeComponent();
DataContext = viewmodel;
}
のようなものです
InitializeComponent()を呼び出すと、上記のエラーがMainpage.xaml.csに表示されます。方法。
私はおそらく
<part:SearchFlyOutWin x:Name="searchFlyOutWin" Visibility="{Binding Converter={StaticResource BooleanToVisibilityConverter}, Path=IsSearchVisible}" />
の下に、ここでこの行でこれを修正する方法上の任意のアイデアをsearchwinをロードするときに正しいコンストラクタを呼び出すためのCLRに指示する必要があると思いますか? ...御時間ありがとうございます。
私のビューモデルにもコンストラクタがありました。veiwモデルを読み込もうとしたときにコンストラクタにエラーが見つかりませんでした。私はparamsを削除し、それを修正するためにconstをデフォルトに設定しました。しかし、今私は別の問題があります。このコントロールは、デフォルトでは非表示に設定し、mainpage.xamlにあるリストボックス内の特定の値に変更する場合にのみ表示したいと考えています。 mainpage.xamlにUCのdatacontextを設定するか、mainpage.xaml.csにプログラムで設定すると、コントロールは常に表示されます。私は今それを隠すことができません。何か案は? – user20358