У меня есть два xaml-файла MainWindow.xaml и другой пользовательский элемент управления WorkDetail.xaml.
Файл MainWindow.xaml содержит текстовое поле, кнопку, список и ссылку на WorkDetail.xaml (свернутый пользовательский элемент управления). Всякий раз, когда пользователь вводит какой-либо текст, он добавляется в список при нажатии кнопки добавления. При двойном щелчке по любому элементу из списка видимость WorkDetail.xaml устанавливается на Visible, и он отображается. В WorkDetail.xaml (пользовательский элемент управления) есть текстовый блок и кнопка. Текстовый блок отображает текст выбранного элемента, а кнопка закрытия устанавливает видимость окна WorkDetail как свернутого. Теперь я пытаюсь оживить WorkDetail.xaml, когда он становится видимым и рушится. Когда по любому элементу из списка дважды щелкают, а видимость WorkDetail.xaml устанавливается видимой, я хочу создать анимацию перемещения окна WorkDetail.xaml справа налево в MainWindow. Когда нажата кнопка «Закрыть» из файла WorkDetail.xaml, а файл WorkDetail.xaml свернут, я хочу сдвинуть файл WorkDetail.xaml слева направо из MainWindow.
Вот скриншот:
альтернативный текст http://i48.tinypic.com/13znac5.jpg
Код MainWindow.xaml:
<Window...>
<Grid Background="Black" >
<TextBox x:Name="enteredWork" Height="39" Margin="44,48,49,0" TextWrapping="Wrap" VerticalAlignment="Top"/>
<ListBox x:Name="workListBox" Margin="26,155,38,45" FontSize="29.333" MouseDoubleClick="workListBox_MouseDoubleClick"/>
<Button x:Name="addWork" Content="Add" Height="34" Margin="71,103,120,0" VerticalAlignment="Top" Click="Button_Click"/>
<TestWpf:WorkDetail x:Name="WorkDetail" Visibility="Collapsed"/>
</Grid>
</Window>
Код класса MainWindow.xaml.cs:
namespace TestWpf
{
public partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
workListBox.Items.Add(enteredWork.Text);
}
private void workListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
WorkDetail.workTextBlk.Text = (string)workListBox.SelectedItem;
WorkDetail.Visibility = Visibility.Visible;
}
}
}
Код WorkDetail.xaml:
<UserControl ..>
<Grid Background="#FFD2CFCF">
<TextBlock x:Name="workTextBlk" Height="154" Margin="33,50,49,0" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="29.333" Background="#FFF13939"/>
<Button x:Name="btnClose" Content="Close" Height="62" Margin="70,0,94,87" VerticalAlignment="Bottom" Click="btnClose_Click"/>
</Grid>
</UserControl>
Код класса WorkDetail.xaml.cs:
namespace TestWpf
{
public partial class WorkDetail : UserControl
{
public WorkDetail()
{
this.InitializeComponent();
}
private void btnClose_Click(object sender, System.Windows.RoutedEventArgs e)
{
Visibility = Visibility.Collapsed;
}
}
}
Может кто-нибудь сказать, как я могу это сделать?