問題タブ [template10]
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.
c# - ハンバーガー テンプレート: ハンバーガー メニューやページヘッダーなどのデフォルトの色を変更します
Template 10 の使用に関しては初心者です。Hamburger テンプレートを使用してアプリを作成していますが、デフォルトの色の変更に苦労しています。以下は、標準の Custom.xaml ファイルで見つけたものです。
次のように変更します。
次のエラーが表示されます。
テキスト 'LightGrey' から 'Windows.UI.Color' を作成できませんでした。
アプリ全体のデフォルトの色を変更するにはどうすればよいですか?
win-universal-app - スクロール時にグリッド ビューを使用した UWP アプリで画像が失われる
UWP と XAML はかなり新しく、これをデバッグする方法がわかりません。
Template10 ハンバーガー テンプレートと Template10 インクリメンタル ロード サンプルに基づいた UWP アプリに加えて、サンプル フォト ビューアー ( Windows 8: Making a Simple Photo Viewer in C# and XAML ) からのいくつかのビットがあります。
メイン ページを変更して、Pictures フォルダーからの画像の Gridview を表示し、画像が段階的に読み込まれるようにしました。また、サンプル フォト ビューアー ( Windows 8: Making a Simple Photo Viewer in C# and XAML ) からもいくつか引用しました。
アプリを起動すると、画像が期待どおりに表示され、下にスクロールすると、画像が読み込まれてオンデマンドで表示されます。問題は、リストを上にスクロールすると、画像が表示されなくなることです。ファイル名と色付きのアイテムの背景を表示するグリッドビュー アイテムはまだ存在しますが、画像は描画されなくなりました。
メモリ フットプリントを小さく保つために、実際のビットマップ イメージをコレクションの一部として保存するのではなく、代わりに StorageItemThumbnail を保存します。私はもともと画像パスだけを保存したかったのですが、それは写真ライブラリの何に対しても機能しません。
これを表示するには、コンバーター クラスを使用してストリームを作成し、画像ソースを設定します。
そして、これは私の XAML で次のようにバインドされています。
誰かが私がこれで間違った方向に私を向けることができますか?
シェリ
*解決済み*
私はついにこの問題の原因を突き止めることができました。
これは、グリッドビューの仮想化、データ モデル、およびコンバーターを介して画像を提供する方法の副作用でした。
テストとして、コンバーターを削除し、データ モデルを変更して、サムネイルの BitmapImage インスタンスを格納し (画像全体を格納するよりも小さい)、そのプロパティに直接バインドしました。これは機能し、グリッドビューを上下にスクロールすると、画像が画面に表示されました。
次に、データ モデルを変更して、BitmapImage プロパティ ゲッターが StorageItemThumbnail プロパティからオンザフライで BitmapImage ビルドを返すようにしました。これは、コンバーターを使用する場合と同じ問題です。
getter にいくつかのデバッグ ステートメントを追加すると、2 番目のリクエストで BitmapImage の高さと幅が 0 であることがわかりました。では、なぜ 0 なのですか?
2 番目のリクエストで StorageItemThumbnail プロパティを見ると、ストリームの位置が EOF にあることがわかりました (最初のリクエストのように 0 ではありません)。これにより、幅と高さが 0 であることが説明され、画面上の空の画像コントロールが説明されました。
コードを変更して StorageItemThumbnail.CloneStream を使用すると、すべての画像が表示されるようになりました。
これが今のコンバーターメソッドです:
時間を割いて回答し、私を正しい方向に導く手助けをしてくれたすべての人に感謝します.
template10 - UWP セマンティック ズーム、ListView、VisualState
<SemanticZoom x:Name="Zoom" >
<SemanticZoom.ZoomedInView>
<ListView Name="HotelInList"
IsItemClickEnabled="False"
Style="{StaticResource HotelListViewStyle}"
ItemContainerStyle="{StaticResource HotelListItemContainerStyle}"
ItemsSource="{Binding Source={StaticResource HotelViewSource}}"
ItemTemplate="{StaticResource HotelListItemTemplate}"
SelectedItem="{Binding Selected, Mode=TwoWay}" >
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="ItemClick">
<Core:GoToStateAction StateName="DetailVisualState" />
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
<ListView.GroupStyle>
上記のインタラクティブ スニペットは機能しません。HotelInList に DetailVisualState という名前のビジュアル ステートが含まれていないことについて文句を言いますが、これは簡潔にするために省略されていますが、rootlayout グリッドの一部の上にあるビジュアル ステートです。
SemanticZoom 内にネストすると、EventTriggerBehavior がブロックされますか?
mvvmcross - MvvmCross with Template10
ここで TipCalc サンプル用の UWP アプリのバージョンを作成しようとしています: https://github.com/MvvmCross/MvvmCross-Samples/tree/master/TipCalc
サンプルには既に UWP バージョンがあり、正常に動作します。ただし、Template10 ( https://github.com/Windows-XAML/Template10 )を使用しようとしていますが、2 つのライブラリを連携させるのに問題があります。
MvvmCross は、ルート Frame への参照を持つOnLaunchedメソッドを変更するように求めています。ただし、テンプレート 10 は、代わりにこのメソッドを抽象化し、そのような参照を持たないOnStartAsyncを公開します...
mvvmcrossアプリを初期化する適切な場所のように思われる CreateRootFrameのテンプレート 10 にオーバーライドがありますが、これは私が期待したようには機能しないようです...
起動したアプリは適切なページに移動し、ビュー モデルを初期化するようにも見えますが (関連付けられた VM の Start メソッドのブレークポイントがヒットします)、ページ自体は空白です。
両方のアプリのビジュアル ツリーを比較すると、サンプルの既存の UWP アプリにはフレームがあることがわかります。
私のTemplate10アプリはモーダルダイアログをロードしています:
オリジナルのサンプル プロジェクトをフォークし、テンプレート 10 バージョンを追加しました。
MvvmCross をテンプレート 10 と統合できた人はいますか? 私が間違っていること、およびこれらのライブラリの両方を一緒に使用する際のベストプラクティスに関するアドバイスはありますか?
c# - UWP Template10 Frame.Navigate with パラメータでエラーが発生する
Intense Templates(SplitView sample)を使ってUWPプロジェクトを開発していたのですが、Template10(Hamburger)に切り替えました。パラメータを渡そうとするとエラーが発生するようです
param is string with value something like this - (d5d05a3b-546a-4ca6-a345-74e333fa00fb)
Frame.Navigate(typeof(EditPage),param);
エラーは次のようなものです:
ErrorPicture
そして、編集ページが正しいparamを取得できない場合、ユーザーを送り返します ( Frame.GoBack()
)、今は次のようなエラーが発生しています
validation - Template10 の検証
"Validation" と呼ばれる Template10 ソースに含まれる優れたサンプルがあります。プロジェクトでその検証を複製しようとしていますが、Template10 NuGet パッケージを含めると、Template10.Validation が含まれていないことがわかりました。
Template10 ソースを自分でコンパイルして取得した "Template10.Validation.dll" を含めることはできますが、NuGet パッケージに含める必要があると思います。
考えやアイデアはありますか?
ありがとう!
ブラッド。
c# - ViewModel から ListViewItem を選択解除する
私は 2 つの ListViews を持っています。最初は MultipleSelection 対応の ListView です。ユーザーが最初の ListView から項目をクリックすると、2 番目の ListView に追加され、最初の ListView から項目の選択を解除すると、2 番目の ListView から項目が削除されます。
私の問題は、ユーザーが2番目のListView(すでに実装されている)からListViewItemを削除し、最初のListViewでアイテムの選択を解除できるようにすることです。問題なくアイテムを削除できますが、最初の ListView でそのアイテムの選択を解除する方法が必要です
ビューモデル
編集:必要な機能を示すためにいくつかの画像を追加しました。私はこれを機能させていますが、コードビハインドを使用することによってのみです。可能であればViewModelでこれを実現したいと思います。