C# 如何从silverlight 4中的login.xaml调用mainpage.xaml中的动画

C# 如何从silverlight 4中的login.xaml调用mainpage.xaml中的动画,c#,xaml,silverlight-4.0,expression-blend,C#,Xaml,Silverlight 4.0,Expression Blend,我正在使用expression Blend 4.0制作Silverlight应用程序。我有mainpage.xaml,并在上面提供了用户控件loginpage.xaml。然后我在user control loginpage.xaml中有了登录按钮。我还在mainpage.xaml上准备了动画,这样当用户单击登录按钮时,动画就开始了。我不知道我应该在登录按钮中给出什么命令,这样当用户单击它时动画就会开始。还是你想再提一个建议?任何帮助都会对我很有帮助。谢谢我正在使用xaml和c。这里有一个很好的方

我正在使用expression Blend 4.0制作Silverlight应用程序。我有mainpage.xaml,并在上面提供了用户控件loginpage.xaml。然后我在user control loginpage.xaml中有了登录按钮。我还在mainpage.xaml上准备了动画,这样当用户单击登录按钮时,动画就开始了。我不知道我应该在登录按钮中给出什么命令,这样当用户单击它时动画就会开始。还是你想再提一个建议?任何帮助都会对我很有帮助。谢谢我正在使用xaml和c。

这里有一个很好的方法:

您的视图可能类似于此注意事项:数据上下文装饰性地设置为视图模型,其上的情节提要属性设置为静态资源情节提要:

<UserControl x:Class="SilverlightApplication2.MainPage"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:local="clr-namespace:SilverlightApplication2"
         mc:Ignorable="d"
         d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
    <Storyboard x:Name="MyStoryboard">
        <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="firstGrid" Storyboard.TargetProperty="(UIElement.Opacity)">
            <EasingDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</UserControl.Resources>
<UserControl.DataContext>
    <local:My_ViewModel MyStoryboard="{StaticResource MyStoryboard}" />
</UserControl.DataContext>
<Grid x:Name="LayoutRoot" Background="White">
    <StackPanel>
    <Grid x:Name="firstGrid" Height="100" Width="100" Background="Red" />
    <Button x:Name="firstButton" Content="Click Me" Click="firstButton_Click" Height="100" Width="100" />
    </StackPanel>
</Grid>
在你的视图背后的代码中,你可以有这样的东西:

    public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
    }

    private My_ViewModel _viewModel
    {
        get { return this.DataContext as My_ViewModel; }
    }

    private void firstButton_Click(object sender, RoutedEventArgs e)
    {
        this._viewModel.MyStoryboard.Begin();
    }
}

希望这有帮助

嗨,伙计,在那之后,我想如何连接或显示sql数据库中的数据?。我将SQLServerManagementStudio用于我的数据库,我想显示数据示例:我的UI中有问题表。在我的问题表中,我想将问题的内容显示到我的UI示例:textblock。我不知道怎么做。我不知道显示它的sql查询是什么,我应该把代码放在哪里,以便在我的UI上显示数据。。任何帮助都会对我很有帮助。谢谢老兄,如果再次打扰你,我很抱歉。关于你之前的答案,我应该把这个代码-->公共类My_ViewModel{public Storyboard MyStoryboard{get;set;}}放在哪里?嘿,陈,没问题。该代码实际上是视图模型类,然后将其设置为xaml视图的数据上下文。它被设置为xaml中以下行中的数据上下文:
    public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
    }

    private My_ViewModel _viewModel
    {
        get { return this.DataContext as My_ViewModel; }
    }

    private void firstButton_Click(object sender, RoutedEventArgs e)
    {
        this._viewModel.MyStoryboard.Begin();
    }
}