0

translatetransform を使用して子ウィンドウをスライドさせましたが、xaml コードに問題があると思います。ウィンドウがスライドしているわけではありませんが、ウィンドウ内がスライドしています(またはグリッド)。

これは私の子ウィンドウ XAML です。

<Window x:Class="SAMPLE.ChildWindow"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  WindowStartupLocation="CenterOwner"
  x:Name="HomeWindows"
  Title="HomeWindow" Height="348" Width="440" Loaded="HomeWindows_Loaded">
  <Window.RenderTransform>
    <TranslateTransform />
  </Window.RenderTransform>
  <Window.Resources>
    <Storyboard x:Key="SlaydAndFeyd" >
        <DoubleAnimation Storyboard.TargetName="HomeWindows"  Storyboard.TargetProperty="(Window.RenderTransform).(TranslateTransform.X)" From="50" To="0" Duration="0:0:0.4" />
    </Storyboard>
  </Window.Resources>

そして、私の機能のために、ストーリーボードを呼び出します:

    public void SlaydAndFeyds()
    {
        (FindResource("SlaydAndFeyd") as Storyboard).Begin(this);
    }

そして今、メインウィンドウのコードで:

namespace SAMPLE
{
  public partial class MainWindow : Window
  {

    public MainWindow()
    {
        InitializeComponent();
    }

    private ChildWindow NewChildWindow = new ChildWindow();

    private void btnShowChild_Click(object sender, RoutedEventArgs e)
    {
        NewHomeWindow.Owner = this;
        NewHomeWindow.Show();
    }

    private void btnSlideChild_Click(object sender, RoutedEventArgs e)
    {
       NewHomeWindow.SlaydAndFeyds();
    }

または、子ウィンドウをスライドさせる方法を知っている人はいますか?

4

1 に答える 1

1

この例の RenderTransform は、ウィンドウ自体ではなく、ウィンドウの内容に影響します。

ウィンドウを移動するには、EventTrigger を使用して Left/Top 属性を調整します。4 秒間で 50 ピクセルほど左にスライドさせたいと推測しています。数値を調整してください。

<Window.Triggers> 
    <EventTrigger RoutedEvent="Window.Loaded"> 
        <BeginStoryboard> 
            <Storyboard> 
                <DoubleAnimation BeginTime="00:00:00"    
                                Storyboard.TargetName="HomeWindows"    
                                Storyboard.TargetProperty="(Window.Left)"    
                                By="-12"    
                                Duration="0:0:4" /> 
            </Storyboard> 
        </BeginStoryboard> 
    </EventTrigger> 
</Window.Triggers>
于 2012-07-17T00:43:46.453 に答える