問題タブ [layouttransform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF - 紛らわしい DataTrigger/DoubleAnimation 動作
クラスのブール値へのバインドに基づいて、のScaleY
プロパティをアニメーション化しようとしています。アニメーションは、(アプリケーションの最初の起動時) によって値が最初に false であることが確認されたとき、およびチェックボックスのチェックされたイベントで最初に true に変更されたときに発生しますが、同じチェックボックスのチェックされていないイベントで値を false に設定したときではありません。LayoutTransform
DataTrigger
ViewModel
DataTrigger
私がやっていることの簡略版を以下に示します。
DependencyProperty
ViewModel クラスは非常に単純で、 Selectedという単一のブール値が含まれています。
Window.xaml
ボタンとチェックボックスが含まれています。チェックボックスがチェックされている場合は、ViewModel の「選択済み」プロパティを true に設定し、チェックされていない場合は false に設定します。xaml とコード ビハインドの両方のコードを次に示します。
DataTrigger
プロパティが false の場合に起動することを知っています。プロパティDoubleAnimation
の単純なSetter
操作に変更するとOpacity
、正しい結果が表示されるためです。なので、使い方に問題がありそうですDoubleAnimation
。
どんな助けでも感謝します。
c# - WPFでのスケールレイアウト変換のアニメーション化の例外
キャンバス上でスケール変換をアニメーション化するために、C#でストーリーボードを作成しました。スケール変換はレイアウト変換です。アニメーションのC#コードは次のとおりです。
このアニメーションを実行すると、次の例外がスローされます。
System.ArgumentNullExceptionがキャッチされましたMessage="値をnullにすることはできません。\r\ nパラメータ名:dp"
Source = "WindowsBase" ParamName = "dp" StackTrace:at System.Windows.DependencyObject.GetValue(DependencyProperty dp)at System.Windows.Media.Animation.Storyboard.ProcessComplexPath(HybridDictionary clockMappings、DependencyObject targetObject、PropertyPath path、AnimationClock AnimationClock、HandoffBehavior handoffBehavior、Int64 layer)at System.Windows.Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock、DependencyObject containsObject、INameScope nameScope、DependencyObject parentObject、String parentObjectName、PropertyPath parentPropertyPath、HandoffBehavior handoffBehavior、HybridDictionary clockMappings、Int64 Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock、DependencyObject containsObject、INameScope nameScope、DependencyObject parentObject、String parentObjectName、PropertyPath parentPropertyPath、HandoffBehavior handoffBehavior、HybridDictionary clockMappings、Int64 layer)at System.Windows.Media.Animation.Storyboard.BeginCommon(DependencyObject containsObject、INameScope nameScope、HandoffBehavior handoffBレイヤー)C:\ Documents and Settings \ lbeaver \ Desktop \ StormFront \ WPF \ StormFront \ StormFront \ NexusDesigner.xamlのStormFront.NexusDesigner.ScaleCanvasAnimation(Double scale)のSystem.Windows.Media.Animation.Storyboard.Begin() cs:line 544 InnerException:HandoffBehavior handoffBehavior、HybridDictionary clockMappings、Int64 layer)at System.Windows.Media.Animation.Storyboard.BeginCommon(DependencyObject containsObject、INameScope nameScope、HandoffBehavior handoffBehavior、Boolean isControllable、Int64 layer)at System.Windows.Media.Animation.Storyboard.Be )C:\ Documents and Settings \ lbeaver \ Desktop \ StormFront \ WPF \ StormFront \ StormFront \ NexusDesigner.xaml.cs:line 544 InnerExceptionのStormFront.NexusDesigner.ScaleCanvasAnimation(Double scale):HandoffBehavior handoffBehavior、HybridDictionary clockMappings、Int64 layer)at System.Windows.Media.Animation.Storyboard.BeginCommon(DependencyObject containsObject、INameScope nameScope、HandoffBehavior handoffBehavior、Boolean isControllable、Int64 layer)at System.Windows.Media.Animation.Storyboard.Be )C:\ Documents and Settings \ lbeaver \ Desktop \ StormFront \ WPF \ StormFront \ StormFront \ NexusDesigner.xaml.cs:line 544 InnerExceptionのStormFront.NexusDesigner.ScaleCanvasAnimation(Double scale):C:\ Documents and Settings \ lbeaver \ Desktop \ StormFront \ WPF \ StormFront \ StormFront \ NexusDesigner.xaml.cs:line 544 InnerExceptionのStormFront.NexusDesigner.ScaleCanvasAnimation(Double scale)のStoryboard.Begin():C:\ Documents and Settings \ lbeaver \ Desktop \ StormFront \ WPF \ StormFront \ StormFront \ NexusDesigner.xaml.cs:line 544 InnerExceptionのStormFront.NexusDesigner.ScaleCanvasAnimation(Double scale)のStoryboard.Begin():
この例外の発生を防ぐにはどうすればよいですか?
wpf - wpf popup のスケール アニメーション
私は素敵な小さなポップアップを持っています。それが表示されたら、0 から 1 倍に拡大したいのですが、うまくいきません。複数回クリックすると、さまざまな場所でアニメーションを「キャッチ」したように見えます。 「成長」中の様子。
そしてポップアップ:
c# - WPF の 1 つのコントロール (グリッド ビュー ヘッダー) で複数の LayoutTransforms を使用する
すべて動的に (行と列) 生成されたアイテムのグリッドを構築しようとしています。リストビューとグリッドビューがあります。すべての列を取得し、それらをグリッドビューに追加します。次に、すべての行をテーブルに追加し、それをリストビューにバインドします。
ビューの上部にあるヘッダー名を回転させるために、同様のものを使用しています。
これは正常に機能し、テキストを回転させ、列を適切なサイズにします。
私がやりたいことは、最初の列を回転しないように設定することです。よくわかりませんが、これを必要な列にのみ適用することはできません。
wpf - LayoutTransform を DataGridTextColumn に適用する
DataGrid
いくつかの を含むがあり、単純なセルにDataGridTextColumn
適用したいのですが、ヘッダーには適用したくありません。LayoutTransform
問題は、DataGridTextColumn
提供していないことLayoutTransform
です。
LayoutTransform
にationを適用することはできましDataGridTemplateColumn
たが、多くの機能を失い、元に戻すことができませんでした。
これまでの私のサンプルは次のとおりです。
私は次の 2 つの方法の
いずれかを探していますDataGridTextColumn
。
または、それが不可能な場合は、 のすべての機能 (並べ替え、編集) をサポートし、最も重要なこととして、同じユーザー インターフェイスを提供するようにを
変更します (現在、テンプレート列での編集はテキスト列とは異なる動作をします)。DataGridTemplateColumn
DataGridTextColumn
c# - レイヤーのグループへの 1 つの ScaleTransform
これが私がやりたいことです-スクロールビューアー内にいくつかの[画像]レイヤーがある場合、すべてのレイヤーに同じ倍率を適用したいと思います。
Xaml には、2 つの画像コントロールをホストするグリッドをホストするスクロール ビューアーがあります。一番上の画像の可視性を制御するチェックボックスがあります。現在、各画像にスケール変換があり、両方に同じスケールを適用しています。
スケーリングを 1 つのコンテナーに統合する方法はありますか?
silverlight - Windows Phone 7 で LayoutTransformer および Scrollviewer とともに ScaleTransform を使用すると、画像の一部が欠落する
Windows Phone 7 アプリケーションの ScrollViewer に拡大縮小された画像を表示しようとしています。アプリケーション ページで、次のようにコントロールを定義します。
LayoutTransformer クラスは、Silverlight 拡張プロジェクトからのものです。
ZoomIn および ZoomOut イベントを処理するメソッドがあり、そこで次のことを行います。
ただし、ズームインがあり、画像が変更されると、ScrollView コントロールの下部と画像の右側に空の領域があります。イメージがスケーリングされたが、スケール変換前の元のイメージのサイズを使用してクリップされたかのようです。
私が間違っていることはありますか?
この問題を再現するプロジェクトも作成しました: http://dl.dropbox.com/u/2598447/ZoomTest.WP7.zip
wpf - ControlまたはUIElementに適用されたScaleTransformを見つけますか?
ウィンドウのどこかにコントロールがあります。このウィンドウのルートには、MainGridという名前のグリッドがあります。ScaleTransform
メイングリッドのLayoutTransformに適用しました。これを使用して、ウィンドウのサイズが大きくなったときにウィンドウのすべてのコンテンツを拡大します。ただし、私のコントロールの1つは、BitmapCache
描画パフォーマンスを最適化するためにキャンバスで使用しています。BitmapCacheは、コントロールに適用される可能性のあるものを考慮しないためScaleTransform
、ズームインすると、コントロールがぼやけて表示されます。
BitmapCacheには、キャッシュされた画像のスケールを増やすために使用できるRenderAtScaleプロパティがあります。しかし、私が抱えている問題は、そのスケール値が何である必要があるかを見つけるためのエレガントな方法がわからないことです。今のところ、ウィンドウがそのスケール値をコントロールに渡すことができるように、コントロールにプロパティがあります。ただし、スケール値を渡す外部ソースに依存する必要がない場合は、それが必要です。
コントロールが適用されたすべてのScaleTransformsの要約を取得する方法はありますか?
wpf - レイアウト変換を使用すると、wpf テキストブロックのテキストが明確にならない
TextBlock コントロールを使用しています。TextBlock 内のテキストは、0 度の回転で明確に表示されます。
しかし、LayoutTransform を使用してコントロールを 90 度回転すると、テキストがはっきりしません。ぼやけた表示。
LayoutTransform を使用せずにテキストを回転させる方法や、明確に表示する方法はありますか?