Я хочу использовать раскадровку в моей DataContext = mainviewmodel.Мой код xaml для раскадровки:
<Window.Resources>
<Storyboard x:Key="showLeftMenuSB">
<ThicknessAnimation Storyboard.TargetProperty="Margin" From="-785,0,0,0" To="0,0,0,0" DecelerationRatio="0.9" Duration="0:0:1"/>
</Storyboard>
<Storyboard x:Key="hideLeftMenuSB">
<ThicknessAnimation Storyboard.TargetProperty="Margin" From="0,0,0,0" To="-785,0,0,0" DecelerationRatio="0.9" Duration="0:0:1"/>
</Storyboard>
</Window.Resources>
<StackPanel Grid.Row="1" Panel.ZIndex="1" Grid.ColumnSpan="2" Name="leftMenu" Orientation="Horizontal" Height="Auto" HorizontalAlignment="Left" Margin="0,0,0,0">
<Border Background="WhiteSmoke">
<Grid Width="785">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<view:NavigationView DataContext="{Binding NavigationViewModel}"/>
<Button Grid.Column="1" Name="leftMenuHide" Width="10" Height="80" Command="{Binding Path=HideCommand}" Content="Hide"/>
<!--"btnRightMenuHide_Click"-->
</Grid>
</Border>
<Grid>
<Button Name="lefttMenuShow" Width="10" Height="80" Click="btnRightMenuShow_Click" Content="Show"/>
</Grid>
</StackPanel>
Но я хочу связать команду в своем классе mainviewmodel.Если я хочу сделать это, используя этот код
private void ShowHideMenu(string Storyboard, Button btnHide, Button btnShow, StackPanel pnl)
{
Storyboard sb = App.Current.Resources[Storyboard] as Storyboard;
sb.Begin(pnl);
if (Storyboard.Contains("Show"))
{
btnHide.Visibility = System.Windows.Visibility.Visible;
btnShow.Visibility = System.Windows.Visibility.Hidden;
}
else if (Storyboard.Contains("Hide"))
{
btnHide.Visibility = System.Windows.Visibility.Hidden;
btnShow.Visibility = System.Windows.Visibility.Visible;
}
}
И команда
private void OnClickHide()
{
ShowHideMenu("hideLeftMenuSB",leftMenuHide, lefttMenuShow, leftMenu);
}
У меня есть ошибка "Имя кнопки" не существует в текущем контексте. Я должен использовать это в mainviewmodelпотому что мне нужно использовать эту команду, если что-то показывает, но я не знаю, как я могу использовать кнопку в MainWindow с помощью класса MainViewModel