質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

2回答

665閲覧

Visual Studio2019のWPFを使ってADO.netを使ったWebAPIでJson形式のデータをWPF側で表示,取得できない

nguyenseiji

総合スコア156

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2021/07/20 22:01

お世話になっております。

タイトルの通りなのですがWPFにてボタンを押したら
WebAPI形式でJsonデータを変数に格納してそれをWPFのtextBlockにて表示する
処理を組んだのですがうまく機能しません

URL先はJsonデータで人気のjsonplaceholderになります。

xaml

1 <Grid> 2 <Grid> 3 <TextBox Name="textInput" Width="150" Height="50" ></TextBox> 4 5 <TextBlock Name="txtStatus" Width="150" Height="50" Margin="250" Background="White" Panel.ZIndex="100" ></TextBlock> 6 <Button Content="Button" HorizontalAlignment="Left" Margin="58,42,0,0" VerticalAlignment="Top" Width="75" Click="btnApi_Click"/> 7 8 </Grid> 9 </Grid> 10

xaml.cs

1 private async void btnApi_Click(object sender, RoutedEventArgs e) 2 3 { 4 5 var client = new HttpClient(); 6 var uri = "https://jsonplaceholder.typicode.com/comments"; 7 if (textInput.Text != "") 8 { 9 uri = "https://jsonplaceholder.typicode.com/comments" + "/" + textInput.Text; 10 } 11 12 var result = await client.GetStringAsync(uri); 13 txtStatus.Text = result; 14 15 } 16

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

(私もあんまりわかっていないので、なぜダメなのかをうまく説明できませんが)
Margin="250"のような大きなマージンや、Margin="72,61,578,316"のようなぐちゃぐちゃマージンは避けてください。
今回のような不可解なレイアウト崩れの原因になります。

GridDockPanelStackPanel等を、正しく使ってレイアウトしましょう。
wpf レイアウト - Google 検索

一例

xml

1<Window 2 x:Class="Questions350540.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 Width="800" 6 Height="450"> 7 <Grid> 8 <Grid.RowDefinitions> 9 <RowDefinition Height="Auto" /> 10 <RowDefinition Height="Auto" /> 11 <RowDefinition /> 12 </Grid.RowDefinitions> 13 <Button 14 HorizontalAlignment="Left" 15 Click="btnApi_Click" 16 Content="Button" /> 17 <TextBox Name="textInput" Grid.Row="1" /> 18 <TextBlock 19 Name="txtStatus" 20 Grid.Row="2" 21 TextWrapping="Wrap" /> 22 </Grid> 23</Window>

投稿2021/07/21 08:53

編集2023/07/28 14:12
TN8001

総合スコア9394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

自己解決したので記載させて頂きます

原因としてはtextBlockのサイズが小さすぎてうまく表示されていないのが原因でした

初心者のため、もっと良い方法があると思いますが今回はウィンドウのサイズを大きくして
textBlockもそれで大きくなるのでそれで解決しました

ありがとうございます。

投稿2021/07/20 22:06

編集2021/07/21 02:00
nguyenseiji

総合スコア156

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/21 01:54 編集

自己解決にしては内容が具体的でないと思います。 https://teratail.com/help#resolve-myself 同じような問題を抱えた人があとから見てこれで分かりますか? そして、これは本当に根本解決になってますか? 赤の他人からすると、質問と回答が合ってるように思えません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問