こんにちは。
Windows10でWPFのアプリケーションを開発しています。
Visual Studio 2017 Communityを使っています。
###前提・実現したいこと
WPFで映画のキャスト/スタッフ一覧みたいなスライドをするときは、画面に較べて、上下に極端に長いテキストボックスをつくって、アニメーションで動かすのでしょうか?それとも、画面サイズのテキストボックスを作って、なにかする方法はあります?スライダーを自動で操作してスクロールとかでしょうか。ご助言いただければ幸いです。
###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Visual Studio Community 2017
Version 15.0.26228.9 D15RTWSVC
Microsoft .NET Framework
Version 4.6.01586
です。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
xaml
1<Window x:Class="scroll.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:scroll" 7 mc:Ignorable="d" 8 Title="MainWindow" Height="350" Width="525"> 9 <Grid> 10 <TextBlock x:Name="テキスト" HorizontalAlignment="Left" Margin="10,10,0,0" TextWrapping="NoWrap" FontSize="28" VerticalAlignment="Top" Height="1000" Width="497"/> 11 </Grid> 12</Window>
C#
1using System; 2using System.Windows; 3using System.Windows.Threading; 4 5namespace scroll 6{ 7 /// <summary> 8 /// MainWindow.xaml の相互作用ロジック 9 /// </summary> 10 public partial class MainWindow : Window 11 { 12 public MainWindow() 13 { 14 InitializeComponent(); 15 Add_Text(); 16 17 DispatcherTimer timer = new DispatcherTimer(); 18 timer.Interval = TimeSpan.FromSeconds(0.05); 19 timer.Tick += new EventHandler(Action); 20 timer.Start(); 21 } 22 23 private void Add_Text() 24 { 25 テキスト.Text = "あいうえお\n" + 26 "かきくけこ\n" + 27 "さしすせそ\n" + 28 "たちつてと\n" + 29 "なにぬねの\n" + 30 "はひふへほ\n" + 31 "まみむめも\n" + 32 "やゆよ\n" + 33 "らりるれろ\n" + 34 "わをん"; 35 } 36 37 int n = 10; 38 void Action(object sender, EventArgs e) 39 { 40 Thickness margin = new Thickness(10, n -= 1, 0, 0); 41 テキスト.Margin = margin; 42 } 43 } 44} 45
上下に極端に長いテキストボックスをつくって、アニメーションで動かすのでしょうか?
アニメーションは分からないのでTimerを使ってやってみました。
#追記
xamlのみで。
xaml
1<Window x:Class="scroll.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:scroll" 7 mc:Ignorable="d" 8 Title="MainWindow" Height="350" Width="525"> 9 <Window.Resources> 10 <Storyboard x:Key="Anime"> 11 <DoubleAnimation 12 Storyboard.TargetName="テキスト" 13 Storyboard.TargetProperty="(Canvas.Top)" 14 To="-1000" 15 Duration="0:1:0"/> 16 </Storyboard> 17 </Window.Resources> 18 <Canvas> 19 <Canvas.Triggers> 20 <EventTrigger RoutedEvent="Canvas.Loaded"> 21 <BeginStoryboard Storyboard="{StaticResource Anime}"/> 22 </EventTrigger> 23 </Canvas.Triggers> 24 <TextBlock x:Name="テキスト" HorizontalAlignment="Left" Canvas.Top="10" TextWrapping="NoWrap" FontSize="28" VerticalAlignment="Top" Height="1000" Width="497"> 25 あいうえお<LineBreak/> 26 かきくけこ<LineBreak/> 27 さしすせそ<LineBreak/> 28 たちつてと<LineBreak/> 29 なにぬねの<LineBreak/> 30 はひふへほ<LineBreak/> 31 まみむめも<LineBreak/> 32 やゆよ <LineBreak/> 33 らりるれろ<LineBreak/> 34 わをん <LineBreak/> 35 </TextBlock> 36 </Canvas> 37</Window> 38
参考
WPF4.5入門 その48 「WPFのアニメーション その1」
WPFサンプル:イベントトリガーでアニメーションを起動する
WPF: XAML, C# で TextBlock などの要素内の文字列を改行させる
投稿2017/08/01 12:43
編集2017/08/01 13:19退会済みユーザー
総合スコア0
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/01 12:53
退会済みユーザー
2017/08/01 13:17