UWP
XAML Debugging Tools デバッグ実行時にアプリ画面上に表示されているツールバー 非表示に設定できます。 Menu[Tools|Options...]Optionsダイアログが表示されます。 [Debugging|General]内の「Enable UI Debugging Tools for XAML」のチェックを外す…
Visual Studio VC++ 2017のUWPでの画面遷移 以前C#での方法でも書いたが、Navigateを使う。 VC++でのNavigate 画面にボタンを配置し、クリックイベントを作る。 あらかじめ作っておいた「空白のページ」の名前はpage2 作成されたイベントメソッド内に下記を…
Visual Studio 2017 C# UWPプロジェクトから DynamoDB接続 AWS SDK for .NET DynamoDB NuGet パッケージをプロジェクトにインストールします。Visual Studio 2017の、[パッケージマネージャーコンソール]から下記のコマンドを入力する。 Install-Package A…
Visual Studio 2017 UWP C++でUTF-8のデータからPlatform::String変換する。 UTF-8の文字列データはstd::stringに収納できるので、一旦stringに入れておく。 std::function<Platform::String ^ (std::string)> Utf8ToPlatformString{ [](std::string stin) { std::wstring_convert<std::codecvt_utf8_utf16<wchar_t> > converter;</std::codecvt_utf8_utf16<wchar_t></platform::string>…
Visual Studio 2017 UWP C++で、HttpClientオブジェクトを使ったREST問合せ方法 xaml側でButtonとTextBox・ProgressRingを配置します。ButtonクリックイベントでREST問合せし結果をTextBoxに表示します。 問合せ中はProgressRingを動かすようにします。
Visual Studio 2017 UWP VC++ の JsonObjectを使ってJSON文字列解析 void cpp_uwp::json_test::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { using namespace Windows::Data::Json; std::function<void(JsonObject^)> hhge{ [this](JsonOb</void(jsonobject^)>…
Visual Studio 2017 UWP C#で、RESTへ接続しJSON取得するコードです。RESTへの接続は、HttpClientクラスを使います。 JSONデータは下記のようなデータです。 {"hoge":1010,"hoge2":"鉄人"} JSONの文字コードはUTF8です。UTF8のJSONデータ取得してからUnicode…
「C#でタイトルバー透過」と同じように VC++でもApplicationViewTitleBarを操作します。 //App.xaml.cpp using namespace Windows::UI::ViewManagement; void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) { auto …
Visual Studio 2017 VC++ UWPでのTreeView xaml <Grid> <TreeView Name="TreeView1" Loaded="TreeView1_Loaded" ItemInvoked="TreeView1_ItemInvoked"/> </Grid> VC++コード void test::TreeView1_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { #define IntToStr( ii ) static_cast
Visual Studio 2017 UWP std::wstring からPlatform::String へ std::wstring s1 = L"文字列"; //Platform::String ^s2; Platform::String ^s3 = ref new Platform::String(s1.c_str() ); Platform::String ^s4{ ref new Platform::String(s1.c_str()) }; Pl…
Visual Studio 2017 UWP ウィンドウ半透明表示 C++版 Rectangleを半透明にしてウィンドウ壁紙を半透明表示させます。 <Rectangle Fill="Transparent" Name="Rectangle1" Loaded="Rectangle1_Loaded"></Rectangle> using namespace Windows::UI::Composition; public ref class MainPage sealed { Compositor^ _Compositor; SpriteVisual^ _SpriteVisua…
Visual Studio 2017 のUWPウィンドウ半透明実装方法です。 Compositorクラスは、ビジュアルレイヤ・エフェクトシステム・アニメーションシステムにわたるWindows.UI.Composition名前空間のさまざまなタイプのファクトリとして使用できるアプリケーション用の…
TreeViewのItemInvokedイベントでアイテムが取得できます。 <TreeView Name="TreeView1" ItemInvoked="TreeView1_ItemInvoked" > </TreeView> args.InvokedItemでTreeViewNodeオブジェクトが取れます。 private void TreeView1_ItemInvoked(TreeView sender, TreeViewItemInvokedEventArgs args) { TextBlock1.Text = ((TreeViewNode)args…
TreeView Visual Studio 2017 UWPのTreeViewを使ってツリー表示させます。 <TreeView Name="TreeView1"> </TreeView> XAMLファイル側はこれだけです。 private void Page_Loaded(object sender, RoutedEventArgs e) { IList<TreeViewNode> l1 = new List<TreeViewNode>(); for (int i = 0; i < 20; ++i) { l1.Add(new TreeViewNo</treeviewnode></treeviewnode>…
SemanticZoomとは UWPでの、SemanticZoomとは、グループ化されたデータセットを2つの異なるビュー切替えナビゲートできるコントロールです。 ZoomedInView はコンテンツのメインビューで、個々のデータ項目を表示する。 ZoomedOutView は、 このビューにグル…
Visual Studio 2017 UWP アプリダークテーマ設定方法 プロジェクトファイルを作成した際に自動で作られるApp.xamlに追加するだけです。 <Application x:Class="App3.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App3" RequestedTheme="Dark"> </application>
下記のxamlコードはGridにTextBlockを貼っただけのシンプルなコードです。 TextプロパティにBindingを書いています。 <Grid> <TextBlock Text="{Binding DtNow}" Loaded="TextBlock_Loaded" Name="TextBlock1"></TextBlock> </Grid> Text="{Binding DtNow}"部分に独自クラスをバインドさせて、クラスからのデータ更新を反映させText表示を変更させます。 独自クラス作…
GridView アイテム追加 簡単なクラスを作成し、GridView のアイテム登録する方法です。 XAMLデザイン画面で下記のようにGridView を追加します。 <GridView Name="gv1" Background="DarkCyan"> <GridView.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal" Width="250"> </stackpanel></datatemplate></gridview.itemtemplate></gridview>
NavigationViewのメニューを追加する方法です。 NavigationView.MenuItemsタグ内にNavigationViewItemを追加します。 <NavigationView HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" FontFamily="Segoe MDL2 Assets" > <NavigationView.MenuItems > </navigationview.menuitems></navigationview>
前回は、ExtendViewIntoTitleBar = trueにしてタイトルバーの非表示をしました。 引続きタイトルバーのボタンも透過します。 上の図のように右上部のボタンが透過していることが確認できます。 App.xaml.csでのコード 右上部のボタンを透過するには、App.xam…
既存のタイトルバー非表示 ExtendViewIntoTitleBarをtrueするとタイトルバーが非表示になります。 App.xaml.csにWindows.ApplicationModel.Core追加します。 using Windows.ApplicationModel.Core; App.xaml.csにコード内にOnLaunched()があるので、1行追加 …
ComboBox アイテム登録 XAMLで、ComboBox のアイテム登録実装方法です。 <ComboBox HorizontalAlignment="Left" Margin="20,20,0,0" VerticalAlignment="Top" Width="200" Name="c1"> <ComboBoxItem>りんご</ComboBoxItem> <ComboBoxItem>ごりら</ComboBoxItem> <ComboBoxItem>ラッパ</ComboBoxItem> <ComboBoxItem IsSelected="True">パンダ</ComboBoxItem> <…</combobox>
Gridタグの分割 UWPのXAMLは、Pageタグから始まり[空のページ]ではデフォルトでGridのみ記述されています。 このGridタグは、分割する機能があります。 縦に分割 ColumnDefinition <Grid Background="LightGoldenrodYellow"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> </Grid> 横に分割 RowDefinitions <Grid Background="LightGreen"> …</grid>
MainPage.xaml以外のページに移動 Visual Studio 2017メニューから[新規作成|プロジェクト]を選択すると「新しいプロジェクト」ダイアログが表示されます。[Visual C#|空白のアプリ(ユニバーサルWindows)]でUWPのプロジェクトが作成されます。 その…
C#言語でのラムダ式 C++で便利なLambda式ですが、C#言語にも同じようなラムダ式が使えるようです。C++の場合Functionalをインクルードしますが、C#は宣言するだけです。 public delegate void Proc<in T>(T arg1); 上記はProcと言う名前のラムダ型を宣言しています</in>…
mojeld.amebaownd.com async/awaitについて、上記URLにもすごくシンプルな例を書いています。 ここでは、Task.Run()中にXAMLのオブジェクトを変更する例です。 まず、「ProgressBar」「Button」「TextBox」を適当に配置します。 「ProgressBar」「TextBox」…
C#でイベントを作ってみよう イベント宣言を作るのは簡単です。 // C#でのイベント public delegate void Proc(object sender); 上記のような感じでイベント作成できます。 C++BuilderでいうところのTNotifyEventみたいな感じです。 // BCBの場合 typedef vo…
C#でinterfaceを作る C#も他の言語と同様にinterfaceが作成できます。IDisposableを継承したinterfaceを作成し、Dispose()されるか試してみました。 IDisposableを継承したinterface interface IHoge2: IDisposable { void Foo();//=0は要らない。 new void …