タグ付けされた質問 「wpf」

Windows Presentation Foundation(WPF)は、Windowsベースのアプリケーションでユーザーインターフェイスをレンダリングするためのサブシステムです。

3
データバインディングを介してWPFハイパーリンクのテキストを設定するにはどうすればよいですか?
WPFでは、オブジェクトの詳細に移動するハイパーリンクを作成し、ハイパーリンクのテキストをオブジェクトの名前にしたいと思います。今、私はこれを持っています: <TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">Object Name</Hyperlink></TextBlock> しかし、「オブジェクト名」をオブジェクトの実際の名前にバインドする必要があります。私はこのようなことをしたいと思います: <TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}" Text="{Binding Path=Name}"/></TextBlock> ただし、Hyperlinkクラスには、データバインディングに適したテキストまたはコンテンツプロパティ(つまり、依存関係プロパティ)がありません。 何か案は?

9
WPFのキーボードショートカット
の_代わりにを使用することはわかっ&ていますが、すべてのCtrl+タイプのショートカットを調べています。 Ctrl+ Z取り消し、Ctrl+ S保存など これらをWPFアプリケーションに実装するための「標準」の方法はありますか?それとも、あなた自身のものを転がして、それらをどんなコマンド/コントロールにでも配線するケースですか?

6
16進数のカラー値からSolidColorBrushを作成する
#ffaaccなどの16進数値からSolidColorBrushを作成したい。これどうやってするの? MSDNで、私は得ました: SolidColorBrush mySolidColorBrush = new SolidColorBrush(); mySolidColorBrush.Color = Color.FromArgb(255, 0, 0, 255); だから私は書いた(私のメソッドが色を受け取ると仮定して#ffaacc): Color.FromRgb( Convert.ToInt32(color.Substring(1, 2), 16), Convert.ToInt32(color.Substring(3, 2), 16), Convert.ToInt32(color.Substring(5, 2), 16)); しかし、これはエラーを与えました The best overloaded method match for 'System.Windows.Media.Color.FromRgb(byte, byte, byte)' has some invalid arguments また、次の3つのエラー: Cannot convert int to byte. しかし、MSDNの例はどのように機能しますか?
129 wpf 

3
WPF:スクロールバー付きのItemsControl(ScrollViewer)
私は、その後、この私がプログラム(のみの最初のいくつかの項目が表示され、より表示していないスクロールバーをコンパイルして実行するときのItemsControlにスクロールバーを追加する方法に小さな「チュートリアル」、そしてそれがデザイナービューで動作しますが、ではない-でも、 VerticalScrollbarVisibilityが「Auto」ではなく「Visible」に設定されている場合)。 これを解決する方法について何か考えはありますか? これは、アイテムを表示するために使用するコードです(通常はDatabindingで作業しますが、デザイナーでアイテムを表示するには、手動で追加しました)。 <ItemsControl x:Name="itemCtrl" Style="{DynamicResource UsersControlStyle}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Top"> </StackPanel> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <uc:UcSpeler /> <uc:UcSpeler /> <uc:UcSpeler /> <uc:UcSpeler /> <uc:UcSpeler /> </ItemsControl> そして、これは私のテンプレートです: <Style x:Key="UsersControlStyle" TargetType="{x:Type ItemsControl}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ItemsControl}"> <Border SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"> <ScrollViewer …

7
WPFにMain()はありませんか?
私はプログラミングに関しては初心者ですが、プログラムがMain()で始まるという共通のルールの1つだと確信していました。WPFプロジェクトを作成するときに表示されません。Main()はWPFで単に別の名前を付けていますか?
128 c#  wpf  c#-4.0  main 

8
DataGridで選択した行の色を設定する方法
DataGridで選択された行のデフォルトの背景色が暗すぎて読み取れません。とにかくそれを上書きすることはありますか? これを試しました <dg:DataGrid.RowStyle> <Style TargetType="{x:Type dg:DataGridRow}"> <Style.Triggers> <Trigger Property="IsSelected" Value="True" > <Setter Property="Background" Value="Gainsboro" /> </Trigger> </Style.Triggers> </Style> </dg:DataGrid.RowStyle> しかし、まだ何も...
127 c#  wpf  xaml  datagrid 

3
レンダリング時間とパフォーマンスの観点から、Panelsはどの順序で最も効率的ですか?
必要なレイアウトに複数のパネルが適していることはよくありますが、パネルの種類によってレンダリング時間が異なることは知っています。 たとえば、MSDNは次のように述べています。 比較的単純なPanel、などCanvas、より複雑なよりも有意に優れた性能を持つことができるPanel、などGrid。 レンダリング時間とパフォーマンスの観点から、WPFパネルはどの順序で最も効率的ですか? WPFパネル: Canvas DockPanel Grid UniformGrid StackPanel WrapPanel VirtualizingPanel / VirtualizingStackPanel これのリストをオンラインでどこかで見たと確信していますが、今は見つかりません。 私が探している理想的な答えは、最も速くレンダリングされる順序でパネルのリストを提供することです。子の数がパネルの効率性の大きな要因であることを理解しているので、この質問のために、各パネルにはLabel/ TextBoxペアしかないと仮定します。 さらに、特定の条件に基づいて他のパネルよりも優れたパフォーマンスを発揮する特定のパネルなど、例外のリストをお願いします。 更新 以下の承認された回答に基づいて要約すると、パネルのパフォーマンスは子アイテムの数とレイアウトに基づいていますが、一般に、最も速いものから最も遅いものまでのリストは次のとおりです。 Canvas StackPanel WrapPanel DockPanel Grid さらに、常に画面に収まらないアイテムが多数ある場合は、常にVirtualizingPanel/ VirtualizingStackPanelを使用する必要があります。 このリストからアイテムを選択する前に、以下の承認済みの回答を読んで詳細を確認することを強くお勧めします。

30
XAMLの名前空間エラーに名前が存在しません
VB.NET WPFアプリケーションで動作するVS2012の使用。WPFの学習に使用しているシンプルなMusicPlayerチュートリアルアプリがあります。チュートリアルのC#バージョンをVB.NETに段階的に変換しています。 アプリには2つのクラスがあり、どちらも同じ名前空間の下にあります。XAMLで名前空間を参照できますが、XAMLでクラスオブジェクトを参照しようとすると、エラーが発生し、コンパイルできません。 奇妙なことに、IntelliSenseは、xmlns:c =タグを介して名前空間を参照する場合と、クラスオブジェクトを使用してクラスオブジェクトを入力する場合の両方で正常に機能し <c: ますが、オブジェクトに下線が引かれ、エラーが生成されてデザイナーでビルドまたは作業しようとします。 .vbクラスファイルは、\ Controlsというフォルダーにあります。メインプロジェクトのルート名前空間は、意図的に空白にされています。クラスは次のようにコーディングされています... Namespace MusicPlayer.Controls Public Class UpdatingMediaElement .... code here End Public End Namespace xamlは次のようになります (<Window >タグで定義された名前空間 xmlns:c="clr-namespace:MusicPlayer.Controls" (で定義されたオブジェクト<Grid>) <c:UpdatingMediaElement Name="MyMediaElement" /> (エラー表示)名前 "UpdatingMediaElement"が名前空間 "clr-namespace:MusicPlayer.Controls"に存在しません。 何が悪いのか、それをどのように修正するのかわかりませんか?


5
wpfアプリケーションの設定アイコン(VS 08)
先に進む前に、以下の解決策を試したことを説明します。 Visual Studio 2008でアプリケーションのアイコンを設定するにはどうすればよいですか? VS 05のリソースからアプリケーションアイコンを設定する アプリケーションにアイコンを設定しようとしています。 私の知る限り、私は潜在的に3つの画像が必要ですか? 1つの画像は、.exe(exeのサムネイル)をクリックしたときのエクスプローラーの実際の画像です 左上に1つの画像(小さい)(16 x 16? アプリの左側にあるスタートメニュードックの1つの画像(32x32かもしれませんが、これもわかりません) それで結構です。 アイコンを選択しました。上記の状況の1つでどのように使用しますか? リソースに追加してみましたが、何も起こらないようです。最初のSOソリューションに続いて、 「最初にリソースビューに移動します(メニューから:[表示]-> [その他のウィンドウ]-> [リソースビュー])。次に、リソースビューでリソースをナビゲートします(ある場合)。すでにVisual Studioによって追加されたアイコンタイプのリソースがある場合は、それを開いて編集します。それ以外の場合は、右クリックして[リソースの追加]を選択し、新しいアイコンを追加します。 リソースビューが空で、このビューで右クリックできません。 ソリューション>プロパティ>リソース>を右クリックすると、アイコン画像を追加できますが、上記のいずれの場所にも表示されません。(または私が見ることができるどこでも) 1)WPFアプリケーションのアプリケーションアイコンを設定するにはどうすればよいですか?

3
ItemsControlを仮想化しますか?
私はしているItemsControlが、私は仮想化したいとのデータのリストを含むVirtualizingStackPanel.IsVirtualizing="True"で動作するようには思えませんItemsControl。 これは本当にそうなのですか、それとも私が気付いていない別の方法がありますか? テストするために、次のコードブロックを使用しています。 <ItemsControl ItemsSource="{Binding Path=AccountViews.Tables[0]}" VirtualizingStackPanel.IsVirtualizing="True"> <ItemsControl.ItemTemplate> <DataTemplate> <TextBlock Initialized="TextBlock_Initialized" Margin="5,50,5,50" Text="{Binding Path=Name}" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> 私が変更された場合ItemsControlにはListBox、私がいることがわかりますInitializedしかしとして、(巨大なマージンはちょうどので、私はほんの数レコードを通過する必要があります)イベントが唯一回の握りを実行しItemsControl、すべての項目が初期化されます。 私はに設定しようとしItemsControlPanelTemplateましたVirtualizingStackPanelが、それは役に立たないようです。


12
画像をバイト配列に変換する方法
画像をバイト配列に、またはその逆に変換する方法を誰かが提案できますか? 私はWPFアプリケーションを開発していて、ストリームリーダーを使用しています。
125 c#  wpf 

6
読み取り専用GUIプロパティをViewModelに戻す
Viewからのいくつかの読み取り専用の依存関係プロパティの現在の状態を常に把握しているViewModelを書きたいのですが。 具体的には、私のGUIにはFlowDocumentPageViewerが含まれており、これはFlowDocumentから一度に1ページを表示します。FlowDocumentPageViewerは、CanGoToPreviousPageおよびCanGoToNextPageと呼ばれる2つの読み取り専用の依存関係プロパティを公開します。私は自分のViewModelが常にこれら2つのViewプロパティの値を知っていることを望みます。 私はOneWayToSourceデータバインディングでこれを行うことができると考えました: <FlowDocumentPageViewer CanGoToNextPage="{Binding NextPageAvailable, Mode=OneWayToSource}" ...> これが許可されていれば完璧です。FlowDocumentPageViewerのCanGoToNextPageプロパティが変更されるたびに、新しい値がViewModelのNextPageAvailableプロパティにプッシュダウンされます。 残念ながら、これはコンパイルされません。「CanGoToPreviousPage」プロパティは読み取り専用であり、マークアップから設定できないというエラーが表示されます。どうやら読み取り専用プロパティは、そのプロパティに関して読み取り専用のデータバインディングでさえも、いかなる種類のデータバインディングもサポートしていません。 ViewModelのプロパティをDependencyPropertiesにして、OneWayバインディングを別の方法で作成することもできますが、関心の分離違反に夢中ではありません(ViewModelは、MVVMデータバインディングが回避するはずのビューへの参照が必要になるでしょう) )。 FlowDocumentPageViewerはCanGoToNextPageChangedイベントを公開していません。また、DependencyPropertyから変更通知を取得するための適切な方法がわからないため、バインドする別のDependencyPropertyを作成する必要があります。 ビューの読み取り専用プロパティの変更をViewModelに通知し続けるにはどうすればよいですか?

8
WPF DataGridを可変数の列にバインドするにはどうすればよいですか?
私のWPFアプリケーションは、毎回異なる数の列を持つ可能性があるデータのセットを生成します。出力には、フォーマットの適用に使用される各列の説明が含まれています。出力の簡略化されたバージョンは次のようになります。 class Data { IList<ColumnDescription> ColumnDescriptions { get; set; } string[][] Rows { get; set; } } このクラスはWPF DataGridのDataContextとして設定されますが、実際には列をプログラムで作成します。 for (int i = 0; i < data.ColumnDescriptions.Count; i++) { dataGrid.Columns.Add(new DataGridTextColumn { Header = data.ColumnDescriptions[i].Name, Binding = new Binding(string.Format("[{0}]", i)) }); } 代わりに、このコードをXAMLファイルのデータバインディングに置き換える方法はありますか?
124 c#  wpf  xaml  data-binding  datagrid 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.