2012-07-17 3 views
0

translatetransform을 사용하여 내 자식 창을 슬라이드했지만 내 xaml 코드에 문제가 있다고 생각합니다. 슬라이딩 윈도우가 아니라 슬라이딩 윈도우 (또는 그리드)입니다. 메인 창 코드wpf에서 자식 WIndow가 작동하지 않습니다

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(); 
    } 

스토리 보드를 호출, 내 함수에 대한 다음

<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> 

과 :

이 내 자식 창 XAML입니다 또는 누군가 내 아이 창을 어떻게 열 수 있습니까?

답변

1

이 예제의 RenderTransform은 윈도우 자체가 아닌 윈도우의 내용에 영향을 미칩니다.

창을 이동하려면 EventTrigger를 사용하여 왼쪽/위쪽 속성을 조정하십시오. UR 빠른 회신 선생님 스티브에 대한

<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> 
+0

감사 : 나는 당신이 그것을 4 초 동안 50 PIX 정도 왼쪽으로 슬라이드에 맞게 수치를 조정할 추측을 복용하고 있습니다. 어떻게 C# 코드로 변환 할 수 있습니까? 내가 뭘하기를 원하는지. 두 버튼이 있다고 가정 해 봅시다. 가정과 사용자라는 이름으로 그래서 처음로드에서 처음으로 집을 클릭하려고하면 슬라이드가되고 오른쪽에서 페이드 인됩니다. 사용자 버튼을 클릭하면 맨 처음 나타나는 자식 창이 왼쪽으로 이동하고 페이드 아웃되고 다음 자식 창이 슬라이드 및 페이드 인됩니다. 그 반대의 경우도 마찬가지입니다. 그리고 다른 것은, 내가 동시에 두 애니메이션을 결합 할 수 있습니다 .. C# 코드에서 슬라이드 및 fadein처럼? 덕분에 ... (미안 해요 초보자)에 대한 미안 해요 – user1405327

+0

불행히도 원하는 동작 (원래 스토리 보드 질문과는 다른)에 대한 사용자 정의 코딩 비트가 될거야 또는 원하는 효과를 얻으려면 블렌드 같은 디자이너에서 주위에 놀 필요 . –

관련 문제