次の階層があります-
<TabControl x:Name="tabControl1" FontWeight="Black" BorderThickness="1" BorderBrush="Black" Background="LightBlue" >
<local:ClosableTab Background="LightBlue" Title="New Tab" x:Name="PreviewWindow">
<Grid>
<Border Name="mask" Background="Black" CornerRadius="5"/>
<Grid>
<Grid.OpacityMask>
<VisualBrush Visual="{Binding ElementName=mask}"/>
</Grid.OpacityMask>
<WebBrowser Name="webBrowser" Source="http://www.google.com" Margin="0" Navigated="webBrowser_Navigated" />
</Grid>
</Grid>
</local:ClosableTab>
</TabControl>
質問
- tabControl1の選択されたTabIndexによって、WebBrowserをCommandParameterにバインドするにはどうすればよいですか
次のコードを試しています-
<Button Name="btnRefresh" Content="Refresh" Command="{Binding Path=Refresh}" CommandParameter="{Binding ElementName=tabControl1,Path=SelectedIndex}"></Button>
- 条件付きでこれを行うにはどうすればよいですか。たとえば、SelectedIndex>3 の場合、Command が起動します。
アップデート
私の目標は、ViewModel コマンドを使用して Web ブラウザーを更新することです。.xaml ファイルには独自の WebBrowser を含むさまざまなタブがあるため、SelectedIndex によって、CommandParameter で渡したい WebBrowser を特定できます。