私は、従来のメニューとダイアログボックスを設定するために、XAMLとF#(C#なし)を使用する例を見つけようとしていました。私が見つけることができるものは、F#と.NETの最新バージョンの前に、C#または古いものを使用しています。誰も私が見ることができる例を提案することはできますか?ありがとう。F#でWPFメニューとダイアログボックスを使用するにはどうすればよいですか?
答えて
WPFを学ぼうとすると、MVVMやMVCよりもむしろ「良い」古いコードに基づいた多くのC#の例が出てきます。以下では、F#WPFコードビハインドアプリケーションを迅速に作成する方法について説明します。これを使用すると、これらの例をすべて試してみるのが簡単になります。
F#コンソールアプリケーションを作成します。
出力タイプをWindowsアプリケーションに変更してください。
FsXaml NuGetから。
これらの4つのソースファイルを追加し、この順序で並べます。
MainWindow.xaml
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="First Demo" Height="200" Width="300">
<Canvas>
<Button Name="btnTest" Content="Test" Canvas.Left="10" Canvas.Top="10" Height="28" Width="72"/>
</Canvas>
</Window>
MainWindow.xaml.fs
namespace FirstDemo
type MainWindowXaml = FsXaml.XAML<"MainWindow.xaml">
type MainWindow() =
inherit MainWindowXaml()
let whenLoaded _ =
()
let whenClosing _ =
()
let whenClosed _ =
()
let btnTestClick _ =
this.Title <- "Yup, it works!"
()
do
this.Loaded.Add whenLoaded
this.Closing.Add whenClosing
this.Closed.Add whenClosed
this.btnTest.Click.Add btnTestClick
App.xaml
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
</Application.Resources>
</Application>
App.xaml.fs
namespace FirstDemo
open System
open System.Windows
type App = FsXaml.XAML<"App.xaml">
module Main =
[<STAThread; EntryPoint>]
let main _ =
let app = App()
let mainWindow = new MainWindow()
app.Run(mainWindow) // Returns application's exit code.
Program.fsファイルを削除してください。
変更ビルドアクション 2つのXAMLファイルのリソースへ。
.NETアセンブリへの参照を追加します。UIAutomationTypes
コンパイルして実行します。
デザイナを使用してイベントハンドラを追加することはできません。コードを手動で追加するだけです。
StackOverflowは、このような完全なデモを投稿するのに最適な場所ではない場合があります。特に、同じ行に複数の質問が表示されている場合は特にそうです。他にも優れた場所がある場合は、この種のもののためのパブリックレポ、私に知らせてください。
ベント、ありがとう、ありがとう、ありがとう!今日は私の誕生日です。あなたの返信は私が得た最高のプレゼントです。あなたの答えは簡単で、ステップバイステップで、実際に働いた。今私はそれから学び、WPFのメニューやダイアログボックスにそれを適用できるかどうかを確認する必要があります。再度、感謝します。 –
ありがとう、ボブ。コントロールに関するヘルプ、ウィンドウアイコン、アプリケーションアイコン、その他のものを追加する方法が必要な場合は、もう一度お問い合わせください。ほとんどのものはC#と似ていますが、F#固有のビットはGoogleにとって本当に難しいものです。 –
ああ、そして - 誕生日おめでとう、ボブ! –
- 1. WPFでメニューを左に開くにはどうすればいいですか?
- 2. F#で複数のファイルとC#ライブラリを使用するにはどうすればよいですか?
- 3. VS2008でF#用にIntellisenseを使用するにはどうすればよいですか?
- 4. C#から使用できるF#Type Providerを作成するにはどうすればよいですか?
- 5. F#でXNamespaceを作成するにはどうすればよいですか?
- 6. メニューのデザインにはどうすればよいですか?
- 7. WPFでシステムトレイの「終了」メニュー項目をプログラミングするにはどうすればよいですか?
- 8. ビジュアルスタジオコードでF#4にFSIを使用するにはどうすればよいですか?
- 9. IDEAScriptで[ファイル]ダイアログボックスを開くにはどうすればよいですか?
- 10. URLConnectionを使用してダイアログボックスにログインするにはどうすればよいですか?
- 11. MSBuildプロジェクトで特定のバージョンのF#コンパイラを使用するにはどうすればよいですか?
- 12. F#でNullable抽象タイプを使用するにはどうすればよいですか?ここ
- 13. F#:パラメータでByRefセマンティクスを宣言して使用するにはどうすればよいですか?
- 14. phpでjqueryダイアログボックスをエコーするにはどうすればいいですか?
- 15. ItemTemplateSelectorをWPF ListViewのHeaderTemplateと一緒に使用するにはどうすればよいですか?
- 16. Rubyを使用してGUIでメニューをテストするにはどうすればよいですか?
- 17. app-drawerとapp-headerで同じメニュー項目を使用するにはどうすればいいですか?
- 18. C#とWPFを使用してWindows 7デスクトップガジェットを作成するにはどうすればよいですか?
- 19. WPFとPrismを使用してモーダルダイアログを表示するにはどうすればよいですか?
- 20. JQueryでカスタムスタイルの選択メニューを使用するにはどうすればよいですか?
- 21. NERDTreeのメニューでvimのキーバインドを使用するにはどうすればよいですか?
- 22. asp.netメニューで画像を使用するにはどうすればよいですか?
- 23. WPFコントロールに使用されるデフォルトテンプレートを模倣するにはどうすればよいですか?
- 24. JavaScriptを使用してメニューを非表示にするにはどうすればよいですか?
- 25. アプリケーションのメニューを設定するにはどうすればよいですか?
- 26. FreeTextBoxメニューをカスタマイズするにはどうすればよいですか?
- 27. メニューのカートボタンリンクを変更するにはどうすればよいですか?
- 28. WPFリストビューをプログラムでスクロールするにはどうすればよいですか?
- 29. WPFでアダプティブレイアウトを作成するにはどうすればよいですか?
- 30. WPFでフォーカスをリダイレクトするにはどうすればよいですか?
http://fsprojects.github.io/FsXaml/ – CaringDev
FsXAMLとFSharp.ViewModuleまたは[Gjallarhorn](https://github.com/ReedCopsey/Gjallarhorn/tree/master/samples)のいずれかが必要です結合。後者にはいくつかのサンプルがあります。 – s952163
お返事ありがとうございました。私はあなたが提案する場所を見て、それを理解しようとします。他の誰かが他のアイディアを持っている場合は、このリストに追加してください。 –