私はできる限りグーグルで検索しましたが、探していたものを正確に見つけることができませんでした。問題はほとんどありません...
これは私のコード構造です:
私のコマンドクラス:
public class BrowseCommand : ICommand
{
//Code here
}
ViewModelの内部:
public class ExampleViewModel
{
public ExampleViewModel()
{
BrowseCommand = new BrowseCommand();
}
public ICommand BrowseCommand
{
get;
private set;
}
//More Code...
}
MainWindow.xaml.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new ExampleViewModel();
}
}
MainWindow.xaml:
Window x:Class="Ship32RcParser.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" >
<Grid>
<Button Content="Browse" Command="{Binding BrowseCommand}"/>
<Button Content="Search" Command="{Binding I_NEED_HELP_HERE}" />
</Grid>
</Window>
MainWindow.xaml.csが持っているため、ブラウズが正常に機能することを理解しています
DataContext = new ExampleViewModel();
しかし、私はそれが好きではありません
- .csファイルに何も入れたくない
- 複数のデータコンテキストを使用するにはどうすればよいですか?つまり、異なるViewModelクラスからのコマンドが必要な場合は...可能性はわかっていますが、少し醜いです...
私が解決策を探していたとき、私は依存関係に出くわしました。たとえば、xamlファイルで次のようなことを行うことができます
xmlns:local="clr-namespace:myMvvMwpfProj.ViewModel"
次に「ローカル」を使用します。でも、やってみたら思った通りに動かなかった…。
xmlns:local="using:myMvvMwpfProj.Command"
誰かがそれらも説明できますか?「ローカル」はクラスへのアクセスを提供しますか?CommandA、CommandB、CommandCクラスがある場合。local:CommandA.ExecuteFooを実行できる必要がありますか?
大きな問題は、さまざまなオブジェクトのプロパティをどのように参照/アクセスするかということだと思います。Xamlで
よろしくお願いします