diff --git a/docs/csharp/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md b/docs/csharp/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md index 91991fcfaba..94029437de4 100644 --- a/docs/csharp/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md +++ b/docs/csharp/programming-guide/concepts/serialization/walkthrough-persisting-an-object-in-visual-studio.md @@ -1,31 +1,22 @@ ---- +--- title: "チュートリアル: オブジェクトの永続化 (Visual Studio) (C#)" ms.custom: -ms.date: 2015-07-20 +ms.date: 07/20/2015 ms.prod: .net ms.reviewer: ms.suite: -ms.technology: -- devlang-csharp +ms.technology: devlang-csharp ms.topic: get-started-article -dev_langs: -- CSharp ms.assetid: a544ce46-ee25-49da-afd4-457a3d59bf63 -caps.latest.revision: 3 +caps.latest.revision: "3" author: BillWagner ms.author: wiwagn -translation.priority.mt: -- cs-cz -- pl-pl -- pt-br -- tr-tr +ms.openlocfilehash: efdf4694c1a1b6df2e9531a2bb4c813b536a330e +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a ms.translationtype: HT -ms.sourcegitcommit: 306c608dc7f97594ef6f72ae0f5aaba596c936e1 -ms.openlocfilehash: 4c8dce64c470f01f540a83f68e3861df56913e4c -ms.contentlocale: ja-jp -ms.lasthandoff: 07/28/2017 - ---- +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- # チュートリアル: オブジェクトの永続化 (Visual Studio) (C#) オブジェクトのプロパティはデザイン時に既定値に設定できますが、そのオブジェクトが破棄されると、実行時に入力した値はすべて失われます。 シリアル化によってインスタンス間でオブジェクトのデータを永続化すると、値を保存しておき、次にそのオブジェクトをインスタンス化するときに、その値を取得することができます。 @@ -101,7 +92,7 @@ ms.lasthandoff: 07/28/2017 6. **[参照の追加]** ダイアログ ボックスで、**[プロジェクト]** タブをクリックし、LoanClass プロジェクトを選択します。 -7. [OK **** ] をクリックしてダイアログ ボックスを閉じます。 +7. **[OK]** をクリックしてダイアログ ボックスを閉じます。 8. デザイナーで、フォームに コントロールを 4 つ追加します。 @@ -230,6 +221,5 @@ ms.lasthandoff: 07/28/2017 この時点で、アプリケーションを再度ビルドして実行できます。 最初に既定値がテキスト ボックスに表示されます。 値を変更して、4 番目のテキスト ボックスに名前を入力します。 いったんアプリケーションを閉じて、再び実行します。 これで、新しい値がテキスト ボックスに表示されます。 ## 関連項目 - [シリアル化 (C#)](../../../../csharp/programming-guide/concepts/serialization/index.md) + [シリアル化 (C#)](../../../../csharp/programming-guide/concepts/serialization/index.md) [C# プログラミング ガイド](../../../../csharp/programming-guide/index.md) - diff --git a/docs/framework/winforms/advanced/how-to-set-jpeg-compression-level.md b/docs/framework/winforms/advanced/how-to-set-jpeg-compression-level.md index a4e86b49995..153a1185911 100644 --- a/docs/framework/winforms/advanced/how-to-set-jpeg-compression-level.md +++ b/docs/framework/winforms/advanced/how-to-set-jpeg-compression-level.md @@ -1,47 +1,145 @@ ---- -title: "方法 : JPEG 圧縮レベルの設定 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "イメージ [Windows フォーム], 変更 (エンコーダー パラメーターを)" - - "JPEG イメージ, 設定 (品質レベルを)" +--- +title: "方法: JPEG 圧縮レベルの設定" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- images [Windows Forms], changing encoder parameters +- JPEG images [Windows Forms], setting quality level ms.assetid: 4b9a74e3-9504-43c1-9f28-ace651d0772e -caps.latest.revision: 11 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 7 ---- -# 方法 : JPEG 圧縮レベルの設定 -イメージをディスクに保存するときに、ファイル サイズを最小化したり品質を向上させるためにイメージのパラメーターを修正することがあります。 JPEG イメージの品質を調整するには、圧縮レベルを修正します。 JPEG イメージを保存するときに圧縮レベルを指定するには、 オブジェクトを作成してそれを クラスの メソッドに渡す必要があります。 オブジェクトを初期化して、1 つの . によって構成される配列を持つようにします。 を作成するときに エンコーダーを指定して、必要な圧縮レベルを指定します。 +caps.latest.revision: "11" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 66b5a90dd10ec10330adeae2cd859d7b307d3e69 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法: JPEG 圧縮レベルの設定 +イメージをディスクに保存するときに、ファイル サイズを最小化したり品質を向上させるために、イメージのパラメーターを修正したりする必要がある場合があります。 圧縮レベルを修正して、JPEG イメージの品質を調整することができます。 JPEG 画像を保存するときに、圧縮レベルを指定するに作成する必要があります、オブジェクトに渡すと、のメソッド、クラスです。 初期化、オブジェクトのいずれかで構成される配列を持つこと、です。 作成するときに、を指定して、エンコーダー、その、必要な圧縮レベルです。 -## 使用例 - オブジェクトを作成して 3 つの JPEG イメージを保存する方法を次のコード例に示します。 各 JPEG イメージを異なる圧縮レベルで保存するために、 コンストラクターに渡す `long` の値を修正します。 品質レベル 0 は最も圧縮率が高く、品質レベル 100 は最も低い圧縮率に対応します。 +## 例 + 次のコード例を作成、オブジェクトし、次の 3 つの JPEG 画像を保存します。 各 JPEG イメージは変更することにより、さまざまな品質レベルで保存、`long`に渡された値、コンス トラクターです。 品質レベル 0 は最も圧縮率が高く、品質レベル 100 は最も低い圧縮率に対応します。 - [!code-csharp[UsingImageEncodersDecoders#8](../../../../samples/snippets/csharp/VS_Snippets_Winforms/UsingImageEncodersDecoders/CS/Form1.cs#8)] - [!code-vb[UsingImageEncodersDecoders#8](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/UsingImageEncodersDecoders/VB/Form1.vb#8)] -[!code-csharp[UsingImageEncodersDecoders#6](../../../../samples/snippets/csharp/VS_Snippets_Winforms/UsingImageEncodersDecoders/CS/Form1.cs#6)] -[!code-vb[UsingImageEncodersDecoders#6](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/UsingImageEncodersDecoders/VB/Form1.vb#6)] +```csharp +private void VaryQualityLevel() + { + // Get a bitmap. The using statement ensures objects + // are automatically disposed from memory after use. + using (Bitmap bmp1 = new Bitmap(@"C:\TestPhoto.jpg")) + { + ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); -## コードのコンパイル - この例には、次の項目が必要です。 + // Create an Encoder object based on the GUID + // for the Quality parameter category. + System.Drawing.Imaging.Encoder myEncoder = + System.Drawing.Imaging.Encoder.Quality; -- Windows フォーム アプリケーション。 + // Create an EncoderParameters object. + // An EncoderParameters object has an array of EncoderParameter + // objects. In this case, there is only one + // EncoderParameter object in the array. + EncoderParameters myEncoderParameters = new EncoderParameters(1); -- 。これは、 のパラメーターです。 + EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L); + myEncoderParameters.Param[0] = myEncoderParameter; + bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters); + + myEncoderParameter = new EncoderParameter(myEncoder, 100L); + myEncoderParameters.Param[0] = myEncoderParameter; + bmp1.Save(@"C:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters); + + // Save the bitmap as a JPG file with zero quality level compression. + myEncoderParameter = new EncoderParameter(myEncoder, 0L); + myEncoderParameters.Param[0] = myEncoderParameter; + bmp1.Save(@"C:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters); + } + } +``` + +```vb +Private Sub VaryQualityLevel() + ' Get a bitmap. The Using statement ensures objects + ' are automatically disposed from memory after use. + Using bmp1 As New Bitmap("C:\test\TestPhoto.jpg") + Dim jpgEncoder As ImageCodecInfo = GetEncoder(ImageFormat.Jpeg) + + ' Create an Encoder object based on the GUID + ' for the Quality parameter category. + Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality + + ' Create an EncoderParameters object. + ' An EncoderParameters object has an array of EncoderParameter + ' objects. In this case, there is only one + ' EncoderParameter object in the array. + Dim myEncoderParameters As New EncoderParameters(1) + + Dim myEncoderParameter As New EncoderParameter(myEncoder, 50L) + myEncoderParameters.Param(0) = myEncoderParameter + bmp1.Save("c:\test\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters) + + myEncoderParameter = New EncoderParameter(myEncoder, 100L) + myEncoderParameters.Param(0) = myEncoderParameter + bmp1.Save("C:\test\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters) + + ' Save the bitmap as a JPG file with zero quality level compression. + myEncoderParameter = New EncoderParameter(myEncoder, 0L) + myEncoderParameters.Param(0) = myEncoderParameter + bmp1.Save("C:\test\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters) + End Using +End Sub +``` + +```csharp +private ImageCodecInfo GetEncoder(ImageFormat format) +{ + ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); + foreach (ImageCodecInfo codec in codecs) + { + if (codec.FormatID == format.Guid) + { + return codec; + } + } + return null; +} +``` + +```vb +Private Function GetEncoder(ByVal format As ImageFormat) As ImageCodecInfo + + Dim codecs As ImageCodecInfo() = ImageCodecInfo.GetImageDecoders() + Dim codec As ImageCodecInfo + For Each codec In codecs + If codec.FormatID = format.Guid Then + Return codec + End If + Next codec + Return Nothing + +End Function +``` + +## コードのコンパイル + この例で必要な要素は次のとおりです。 + +- Windows フォーム アプリケーション + +- A 、パラメーターのあるです。 - `TestPhoto.jpg` という名前のイメージ ファイル。保存場所は **c:\\** です。 -## 参照 - [方法 : エンコーダーがサポートするパラメーターの確認](../../../../docs/framework/winforms/advanced/how-to-determine-the-parameters-supported-by-an-encoder.md) - [ビットマップの種類](../../../../docs/framework/winforms/advanced/types-of-bitmaps.md) - [マネージ GDI\+ でのイメージ エンコーダーおよびイメージ デコーダーの使用](../../../../docs/framework/winforms/advanced/using-image-encoders-and-decoders-in-managed-gdi.md) \ No newline at end of file +## 関連項目 + [方法: エンコーダーがサポートするパラメーターの確認](../../../../docs/framework/winforms/advanced/how-to-determine-the-parameters-supported-by-an-encoder.md) + [ビットマップの種類](../../../../docs/framework/winforms/advanced/types-of-bitmaps.md) + [マネージ GDI+ でのイメージ エンコーダーおよびイメージ デコーダーの使用](../../../../docs/framework/winforms/advanced/using-image-encoders-and-decoders-in-managed-gdi.md) diff --git a/docs/framework/winforms/controls/defining-a-property-in-windows-forms-controls.md b/docs/framework/winforms/controls/defining-a-property-in-windows-forms-controls.md index 65cce7ffb6d..974485524e5 100644 --- a/docs/framework/winforms/controls/defining-a-property-in-windows-forms-controls.md +++ b/docs/framework/winforms/controls/defining-a-property-in-windows-forms-controls.md @@ -1,39 +1,43 @@ ---- -title: "Windows フォーム コントロールのプロパティの定義 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "カスタム コントロール [Windows フォーム], 定義 (プロパティをコードで)" - - "プロパティ [Windows フォーム], 定義 (コードで)" +--- +title: "Windows フォーム コントロールのプロパティの定義" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- properties [Windows Forms], defining in code +- custom controls [Windows Forms], defining properties in code ms.assetid: c2eb8277-a842-4d99-89a9-647b901a0434 -caps.latest.revision: 13 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 13 ---- -# Windows フォーム コントロールのプロパティの定義 -プロパティの概要については、「[プロパティの概要](../Topic/Properties%20Overview.md)」を参照してください。 プロパティを定義する場合に考慮する必要がある点を次に示します。 +caps.latest.revision: "13" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 8c3c25b9c408e5b8f0b76cdf87375875cdb06a13 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# Windows フォーム コントロールのプロパティの定義 +プロパティの概要については、「[プロパティの概要](http://msdn.microsoft.com/library/8f1a1ff1-0f05-40e0-bfdf-80de8fff7d52)」を参照してください。 プロパティを定義するときには、いくつかの重要な考慮事項があります。 -- 定義するプロパティに属性を適用する必要があります。 属性によって、デザイナーでのプロパティの表示形式が指定されます。 詳細については、「[コンポーネントのデザイン時属性](../Topic/Design-Time%20Attributes%20for%20Components.md)」を参照してください。 +- 定義するプロパティに属性を適用する必要があります。 属性によって、デザイナーでプロパティがどのように表示されるかが指定されます。 詳細については、「[コンポーネントのデザイン時属性](http://msdn.microsoft.com/library/12050fe3-9327-4509-9e21-4ee2494b95c3)」を参照してください。 -- プロパティの変更がコントロールのビジュアル表示に影響する場合は、`set` アクセサーから メソッド \( から継承されたメソッド\) を呼び出します。 すると、 によって、コントロールを再描画する メソッドが呼び出されます。 効率的な点から、 メソッドを複数回呼び出しても が呼び出されるのは 1 回だけです。 +- プロパティを変更するコントロールのビジュアル表示に影響する場合、メソッド (コントロールの継承された) から、`set`アクセサー。 さらに、メソッドで、コントロールを再描画します。 複数回呼び出すに 1 回の呼び出しと、効率を上げるのためです。 -- .NET Framework クラス ライブラリには、整数、10 進数、ブール値などの一般的なデータ型のための型コンバーターが用意されています。 型コンバーターでは、一般に文字列を値へ変換する、つまり文字列データを他のデータ型に変換することが目的です。 標準的なデータ型は既定の型コンバーターに関連付けられています。既定の型コンバーターでは、値から文字列への変換と、文字列から適切なデータ型への変換が行われます。 カスタム \(非標準\) データ型のプロパティを定義する場合には、そのプロパティに関連付ける型コンバーターを指定する属性を適用する必要があります。 属性を使用して、カスタム UI 型エディターをプロパティに関連付けることもできます。 UI 型エディターには、プロパティやデータ型を編集するためのユーザー インターフェイスが備わっています。 カラー ピッカーは、UI 型エディターの例です。 属性の例については、このトピックの最後に示します。 +- .NET Framework クラス ライブラリでは、整数、10 進数、ブール値など、一般的なデータ型に対応する型コンバーターを使用できます。 型コンバーターは、一般に文字列から値への変換を行うために使用されます (文字列データから他のデータ型に変換)。 一般的なデータ型は、値を文字列に変換し、文字列を適切なデータ型に変換する既定の型コンバーターに関連付けられています。 カスタム (つまり、非標準的な) データ型であるプロパティを定義する場合、そのプロパティに関連付けられる型コンバーターを指定する属性を適用する必要があります。 また、属性を使用してカスタム UI 型エディターとプロパティを関連付けることもできます。 UI 型エディターには、プロパティやデータ型を編集するためのユーザー インターフェイスが備わっています。 たとえば、カラー ピッカーなどの UI 型エディターがあります。 属性の例は、このトピックの最後に記載されています。 > [!NOTE] - > カスタム プロパティを処理できる型コンバーターまたは UI 型エディターがない場合には、「[Extending Design\-Time Support](../Topic/Extending%20Design-Time%20Support.md)」の説明に従ってコンバーターまたはエディターを実装できます。 + > 型コンバーターまたは UI 型エディターをカスタム プロパティに使用できない場合、「[デザイン時サポートの拡張](http://msdn.microsoft.com/library/d6ac8a6a-42fd-4bc8-bf33-b212811297e2)」に示されているものを実装できます。 - `FlashTrackBar` カスタム コントロールの `EndColor` というカスタム プロパティを定義するコード片を次に示します。 + 次のコード フラグメントは、カスタム コントロール `FlashTrackBar` に対して `EndColor` という名前のカスタム プロパティを定義します。 ```vb Public Class FlashTrackBar @@ -66,7 +70,6 @@ Public Class FlashTrackBar End Property ... End Class - ``` ```csharp @@ -102,7 +105,7 @@ public class FlashTrackBar : Control { } ``` - 型コンバーターと UI 型エディターを `Value` プロパティに関連付けるコード片を次に示します。 このコードでは、`Value` プロパティが整数であり、このプロパティには既定の型コンバーターが設定されていますが、 属性によってカスタム型コンバーター \(`FlashTrackBarValueConverter`\) が適用されます。これにより、デザイナーではこの `Value` プロパティがパーセントとして表示されます。 `FlashTrackBarValueEditor` UI 型エディターを使用すると、パーセント値が視覚的に表示されます。 この例では、さらに 属性に指定された型コンバーターまたは 属性に指定された型エディターが既定のコンバーターをオーバーライドします。 + 次のコード フラグメントは、型コンバーターと UI 型エディターをプロパティ `Value` に関連付けます。 ここでは`Value`整数であり、既定の型コンバーターですが、属性には、カスタム型コンバーターが適用されます (`FlashTrackBarValueConverter`) に対する比率として表示するデザイナーを有効にします。 UI 型エディター `FlashTrackBarValueEditor` により、そのパーセントを視覚的に表示できます。 この例も示しますを実行する型コンバーターまたはで指定されたエディター、または属性が既定のコンバーターを上書きします。 ```vb 関連項目 + [Windows フォーム コントロールのプロパティ](../../../../docs/framework/winforms/controls/properties-in-windows-forms-controls.md) + [ShouldSerialize メソッドと Reset メソッドによる既定値の定義](../../../../docs/framework/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods.md) + [プロパティ変更イベント](../../../../docs/framework/winforms/controls/property-changed-events.md) + [Windows フォーム コントロールの属性](../../../../docs/framework/winforms/controls/attributes-in-windows-forms-controls.md) diff --git a/docs/framework/winforms/controls/defining-an-event-in-windows-forms-controls.md b/docs/framework/winforms/controls/defining-an-event-in-windows-forms-controls.md index eea64763045..ae16de83d75 100644 --- a/docs/framework/winforms/controls/defining-an-event-in-windows-forms-controls.md +++ b/docs/framework/winforms/controls/defining-an-event-in-windows-forms-controls.md @@ -1,30 +1,34 @@ ---- -title: "Windows フォーム コントロールのイベントの定義 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "カスタム コントロール [Windows フォーム], イベント (コードを使用)" - - "イベント [Windows フォーム], 定義 (Windows フォームのカスタム コントロール内で)" +--- +title: "Windows フォーム コントロールのイベントの定義" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- events [Windows Forms], defining within Windows Forms custom controls +- custom controls [Windows Forms], events using code ms.assetid: d89f1096-8061-42e2-a855-a1f053f1940a -caps.latest.revision: 10 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 10 ---- -# Windows フォーム コントロールのイベントの定義 -カスタム イベントの定義方法の詳細については、「[イベント](../../../../docs/standard/events/index.md)」を参照してください。 関連データがないイベントを定義する場合、イベント データの基本型である を使用し、イベント デリゲートとして を使用します。 イベント メンバーを定義し、イベントを発生させる `On`*EventName* プロテクト メソッドを定義します。その他の操作は特に必要ありません。 +caps.latest.revision: "10" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 592efefecb0428f87e5ac612c8fb162aa2fe85dd +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# Windows フォーム コントロールのイベントの定義 +カスタム イベントを定義する方法については、次を参照してください。[イベント](../../../../docs/standard/events/index.md)です。 関連データがないイベントを定義する場合、イベント データの基本型である を使用し、イベント デリゲートとして を使用します。 すべてを行うにはイベント メンバーとプロテクト定義`On` *EventName*イベントを発生させる方法です。 - `FlashTrackBar` カスタム コントロールによる `ValueChanged` カスタム イベントの定義方法を示すコードを次に示します。 `FlashTrackBar` の完全なコード例については、「[方法 : 進行状況を示す Windows フォーム コントロールを作成する](../../../../docs/framework/winforms/controls/how-to-create-a-windows-forms-control-that-shows-progress.md)」を参照してください。 + `FlashTrackBar` カスタム コントロールによる `ValueChanged` カスタム イベントの定義方法を示すコードを次に示します。 完全なコード、`FlashTrackBar`サンプルを参照してください、[する方法: Windows フォーム コントロールを示しています進行状況を作成する](../../../../docs/framework/winforms/controls/how-to-create-a-windows-forms-control-that-shows-progress.md)です。 ```vb Option Explicit @@ -83,7 +87,7 @@ public class FlashTrackBar : Control { } ``` -## 参照 - [Windows フォーム コントロールのイベント](../../../../docs/framework/winforms/controls/events-in-windows-forms-controls.md) - [イベント](../../../../docs/standard/events/index.md) - [イベント](../../../../docs/standard/events/index.md) \ No newline at end of file +## 関連項目 + [Windows フォーム コントロールのイベント](../../../../docs/framework/winforms/controls/events-in-windows-forms-controls.md) + [イベント](../../../../docs/standard/events/index.md) + [イベント](../../../../docs/standard/events/index.md) diff --git a/docs/framework/winforms/controls/how-to-create-a-professionally-styled-toolstrip-control.md b/docs/framework/winforms/controls/how-to-create-a-professionally-styled-toolstrip-control.md index ab25c43b274..6e36a6b4d60 100644 --- a/docs/framework/winforms/controls/how-to-create-a-professionally-styled-toolstrip-control.md +++ b/docs/framework/winforms/controls/how-to-create-a-professionally-styled-toolstrip-control.md @@ -1,51 +1,55 @@ ---- -title: "方法 : プロフェッショナル スタイルの ToolStrip コントロールを作成する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "ツール バー [Windows フォーム]" - - "ToolStrip コントロール [Windows フォーム]" - - "ToolStripProfessionalRenderer クラス [Windows フォーム]" - - "ToolStripRenderer クラス [Windows フォーム]" +--- +title: "方法 : プロフェッショナル スタイルの ToolStrip コントロールを作成する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- toolbars [Windows Forms] +- ToolStripProfessionalRenderer class [Windows Forms] +- ToolStripRenderer class [Windows Forms] +- ToolStrip control [Windows Forms] ms.assetid: c208b2f6-8105-474b-9075-d582e1792870 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 9 ---- -# 方法 : プロフェッショナル スタイルの ToolStrip コントロールを作成する - 型から派生する独自のクラスを記述することで、アプリケーションの コントロールにプロフェッショナルな外観と動作 \(操作性\) を与えることができます。 - - [!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] に、この機能の広範なサポートがあります。 - - [チュートリアル : プロフェッショナル スタイルの ToolStrip コントロールの作成](../../../../docs/framework/winforms/controls/walkthrough-creating-a-professionally-styled-toolstrip-control.md). - -## 使用例 - 次のコード例では、 コントロールを使用して、Microsoft® Outlook® の**ナビゲーション ウィンドウ**に似た複合コントロールを作成する方法について説明します。 - - [!code-csharp[System.Windows.Forms.ToolStrip.StackView#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.ToolStrip.StackView/CS/StackView.cs#1)] +caps.latest.revision: "9" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 0199bad54d7b4ed4f1ed63b22914f8f99bbf6e85 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : プロフェッショナル スタイルの ToolStrip コントロールを作成する + 型から派生する独自のクラスを記述することで、アプリケーションの コントロールにプロフェッショナルな外観と動作 (操作性) を与えることができます。 + + [!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)]に、この機能の広範なサポートがあります。 + + 「[チュートリアル: プロフェッショナル スタイルの ToolStrip コントロールの作成](../../../../docs/framework/winforms/controls/walkthrough-creating-a-professionally-styled-toolstrip-control.md)」を参照してください。 + +## 例 + 次のコード例は、使用する方法を示しますを模倣した複合コントロールを作成するコントロール、**ナビゲーション ウィンドウ**Microsoft® Outlook® によって提供されます。 + + [!code-csharp[System.Windows.Forms.ToolStrip.StackView#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.ToolStrip.StackView/CS/StackView.cs#1)] [!code-vb[System.Windows.Forms.ToolStrip.StackView#1](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.ToolStrip.StackView/VB/StackView.vb#1)] -## コードのコンパイル +## コードのコンパイル この例で必要な要素は次のとおりです。 - System.Drawing アセンブリおよび System.Windows.Forms アセンブリへの参照。 - [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法の詳細については、「[コマンド ラインからのビルド](../Topic/Building%20from%20the%20Command%20Line%20\(Visual%20Basic\).md)」または「[csc.exe を使用したコマンド ラインからのビルド](../../../../ocs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、[!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 「[チュートリアル : プロフェッショナル スタイルの ToolStrip コントロールの作成](http://msdn.microsoft.com/library/ms233664\(v=vs.110\))」も参照してください。 + [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法については、「[コマンド ラインからのビルド](~/docs/visual-basic/reference/command-line-compiler/building-from-the-command-line.md)」または「[csc.exe を使用したコマンド ラインからのビルド](~/docs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、[!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 「[チュートリアル: プロフェッショナル スタイルの ToolStrip コントロールの作成](http://msdn.microsoft.com/library/ms233664\(v=vs.110\))」も参照してください。 -## 参照 - - - - [ToolStrip コントロール](../../../../docs/framework/winforms/controls/toolstrip-control-windows-forms.md) - [方法 : フォームに標準メニュー項目を追加する](../../../../docs/framework/winforms/controls/how-to-provide-standard-menu-items-to-a-form.md) \ No newline at end of file +## 関連項目 + + + + [ToolStrip コントロール](../../../../docs/framework/winforms/controls/toolstrip-control-windows-forms.md) + [方法: フォームに標準メニュー項目を追加する](../../../../docs/framework/winforms/controls/how-to-provide-standard-menu-items-to-a-form.md) diff --git a/docs/framework/winforms/controls/how-to-create-an-mdi-window-list-with-menustrip-windows-forms.md b/docs/framework/winforms/controls/how-to-create-an-mdi-window-list-with-menustrip-windows-forms.md index c23754541d3..116d6902342 100644 --- a/docs/framework/winforms/controls/how-to-create-an-mdi-window-list-with-menustrip-windows-forms.md +++ b/docs/framework/winforms/controls/how-to-create-an-mdi-window-list-with-menustrip-windows-forms.md @@ -1,48 +1,52 @@ ---- -title: "方法 : MenuStrip を使用して MDI ウィンドウの一覧を作成する (Windows フォーム) | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "MDI, 作成 (ウィンドウの一覧を)" - - "MenuStrip コントロール [Windows フォーム], 作成 (ウィンドウの一覧を)" +--- +title: "方法 : MenuStrip を使用して MDI ウィンドウの一覧を作成する (Windows フォーム)" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- MDI [Windows Forms], creating window lists +- MenuStrip control [Windows Forms], creating window lists ms.assetid: 04fb414b-811f-4a83-aab6-b4a24646dec5 -caps.latest.revision: 16 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 16 ---- -# 方法 : MenuStrip を使用して MDI ウィンドウの一覧を作成する (Windows フォーム) -マルチ ドキュメント インターフェイス \(MDI: Multiple Document Interface\) を使用してアプリケーションを作成すると、複数のドキュメントを同時に開いて、ドキュメント間で内容のコピーおよび貼り付けを行うことができます。 - - ここでは、親フォームの \[ウィンドウ\] メニューに、すべてのアクティブな子フォームの一覧を作成する方法について説明します。 - -### MDI ウィンドウの一覧を MenuStrip 上に作成するには +caps.latest.revision: "16" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: ea2b3f41e6e40b589589db99bb2a5a0ba474c8cb +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : MenuStrip を使用して MDI ウィンドウの一覧を作成する (Windows フォーム) +マルチ ドキュメント インターフェイス (MDI) を使用して、同じ時およびコピーに複数のドキュメントを開くし、他の 1 つのドキュメントのコンテンツを貼り付けることができますアプリケーションを作成します。 + + この手順では、親のウィンドウ メニュー上のすべてのアクティブな子フォームの一覧を作成する方法を示します。 + +### MenuStrip を MDI ウィンドウ リストを作成するには 1. フォームを作成し、その プロパティを `true` に設定します。 2. フォームに を追加します。 -3. 2 つのトップレベル メニュー項目を に追加し、その プロパティをそれぞれ `&File` と `&Window` に設定します。 +3. 2 つのトップレベルのメニュー項目を追加、設定とそのプロパティ`&File`と`&Window`です。 -4. サブメニュー項目を `&File` メニュー項目に追加し、その プロパティを `&Open` に設定します。 +4. サブメニュー項目を `&File` メニュー項目に追加し、その プロパティを「`&Open`」に設定します。 -5. `&Window` のプロパティを設定します。 +5. 設定、のプロパティ、を`&Window`です。 -6. プロジェクトにフォームを追加し、このフォームに必用なコントロール \(別の など\) を追加します。 +6. プロジェクトにフォームを追加し、目的のコントロールを追加し、別などです。 -7. `&New` のイベントのイベント ハンドラーを作成します。 +7. の `&New` の イベントにイベント ハンドラーを作成します。 -8. このイベント ハンドラー内に次のようなコードを挿入し、`Form1` の MDI 子フォームとして `Form2` の新しいインスタンスを作成および表示します。 +8. イベント ハンドラー内で作成しの新しいインスタンスを表示するには、次のようなコードを挿入`Form2`の MDI 子フォームとして`Form1`です。 ```vb Private Sub openToolStripMenuItem_Click(ByVal sender As _ @@ -54,12 +58,9 @@ caps.handback.revision: 16 'Display the new form. NewMDIChild.Show() End Sub - ``` - \[C\#\] - - ``` + ```csharp private void newToolStripMenuItem_Click(object sender, EventArgs e) { Form2 newMDIChild = new Form2(); @@ -68,32 +69,29 @@ caps.handback.revision: 16 // Display the new form. newMDIChild.Show(); } - ``` -9. イベント ハンドラーを登録するに `&New` に次のようなコードを配置します。 +9. 配置では、次のようなコード、 `&New` イベント ハンドラーを登録します。 ```vb Private Sub newToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles newToolStripMenuItem.Click - ``` ```csharp this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click); - ``` -## コードのコンパイル - この例には、次の項目が必要です。 +## コードのコンパイル + この例で必要な要素は次のとおりです。 - `Form1` と `Form2` という名前の 2 つの コントロール。 -- `menuStrip1` という名前の `Form1` の コントロール、および `menuStrip2` という名前の `Form2` の コントロール。 +- `Form1` 上の `menuStrip1` という名前の コントロールと、`Form2` 上の `menuStrip2` という名前の コントロール。 -- アセンブリおよび アセンブリへの参照。 +- アセンブリおよび アセンブリへの参照。 -## 参照 - [方法 : MDI 親フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-parent-forms.md) - [方法 : MDI 子フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-child-forms.md) - [MenuStrip コントロール](../../../../docs/framework/winforms/controls/menustrip-control-windows-forms.md) \ No newline at end of file +## 関連項目 + [方法: MDI 親フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-parent-forms.md) + [方法: MDI 子フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-child-forms.md) + [MenuStrip コントロール](../../../../docs/framework/winforms/controls/menustrip-control-windows-forms.md) diff --git a/docs/framework/winforms/controls/how-to-customize-item-addition-with-the-windows-forms-bindingsource.md b/docs/framework/winforms/controls/how-to-customize-item-addition-with-the-windows-forms-bindingsource.md index 3c06ce4f557..124ea30925b 100644 --- a/docs/framework/winforms/controls/how-to-customize-item-addition-with-the-windows-forms-bindingsource.md +++ b/docs/framework/winforms/controls/how-to-customize-item-addition-with-the-windows-forms-bindingsource.md @@ -1,51 +1,56 @@ ---- -title: "方法 : Windows フォーム BindingSource を使用した項目の追加をカスタマイズする | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "コントロール [Windows フォーム], 新しい項目の作成" - - "BindingSource コンポーネント [Windows フォーム], 項目の追加のカスタマイズ" - - "例 [Windows フォーム], BindingSource コンポーネント" - - "BindingSource コンポーネント [Windows フォーム], 例" +--- +title: "方法 : Windows フォーム BindingSource を使用した項目の追加をカスタマイズする" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +- cpp +helpviewer_keywords: +- controls [Windows Forms], creating new items +- BindingSource component [Windows Forms], customizing item addition with +- examples [Windows Forms], BindingSource component +- BindingSource component [Windows Forms], examples ms.assetid: 1aae11fc-6fb2-4cb9-b3d0-e0638fe77ef0 -caps.latest.revision: 14 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 14 ---- -# 方法 : Windows フォーム BindingSource を使用した項目の追加をカスタマイズする - コンポーネントを使用して Windows フォーム コントロールをデータ ソースにバインドする場合、新しい項目の作成のカスタマイズが必要な場合があります。 コンポーネントでは、通常は、バインドされたコントロールで新しい項目の作成が必要になる際に発生する イベントが提供されるため、これが簡単になります。 イベント ハンドラーは、カスタム動作が必要なものをすべて提供できます \(Web サービスでのメソッドの呼び出し、クラス ファクトリからの新しいオブジェクトの取得など\)。 +caps.latest.revision: "14" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 7d1978d3b2cf8634d9222ee5278077dfbe437d04 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム BindingSource を使用した項目の追加をカスタマイズする + コンポーネントを使用して Windows フォーム コントロールをデータ ソースにバインドする場合、新しい項目の作成のカスタマイズが必要な場合があります。 コンポーネントでは、通常は、バインドされたコントロールで新しい項目の作成が必要になる際に発生する イベントが提供されるため、これが簡単になります。 イベント ハンドラーは、カスタム動作が必要なものをすべて提供できます (Web サービスでのメソッドの呼び出し、クラス ファクトリからの新しいオブジェクトの取得など)。 > [!NOTE] > イベントを処理することで項目が追加された場合、追加をキャンセルすることはできません。 -## 使用例 - 次の例では、 コンポーネントを使用して、 コントロールをクラス ファクトリにバインドする方法を示します。 ユーザーが コントロールの新しい行をクリックすると、 イベントが発生します。 イベント ハンドラーは新しい `DemoCustomer` オブジェクトを作成します。これは、 プロパティに割り当てられます。 これにより、新しい `DemoCustomer` オブジェクトが コンポーネントの一覧に追加され、 コントロールの新しい行に表示されます。 +## 例 + 次の例では、 コンポーネントを使用して、 コントロールをクラス ファクトリにバインドする方法を示します。 ユーザーが コントロールの新しい行をクリックすると、 イベントが発生します。 イベント ハンドラーは新しい `DemoCustomer` オブジェクトを作成します。これは、 プロパティに割り当てられます。 これにより、新しい `DemoCustomer` オブジェクトが コンポーネントの一覧に追加され、 コントロールの新しい行に表示されます。 - [!code-cpp[System.Windows.Forms.DataConnector.AddingNew#1](../../../../samples/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.DataConnector.AddingNew/CPP/form1.cpp#1)] - [!code-csharp[System.Windows.Forms.DataConnector.AddingNew#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataConnector.AddingNew/CS/form1.cs#1)] + [!code-cpp[System.Windows.Forms.DataConnector.AddingNew#1](../../../../samples/snippets/cpp/VS_Snippets_Winforms/System.Windows.Forms.DataConnector.AddingNew/CPP/form1.cpp#1)] + [!code-csharp[System.Windows.Forms.DataConnector.AddingNew#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataConnector.AddingNew/CS/form1.cs#1)] [!code-vb[System.Windows.Forms.DataConnector.AddingNew#1](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.DataConnector.AddingNew/VB/form1.vb#1)] -## コードのコンパイル +## コードのコンパイル この例で必要な要素は次のとおりです。 - System、System.Data、System.Drawing、および System.Windows.Forms の各アセンブリへの参照。 - [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法については、「[コマンド ラインからのビルド](../Topic/Building%20from%20the%20Command%20Line%20\(Visual%20Basic\).md)」または「[csc.exe を使用したコマンド ラインからのビルド](../../../../ocs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、[!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 また、「[方法: 完成した Windows フォーム コードの例を Visual Studio を使ってコンパイルして実行する](http://msdn.microsoft.com/library/Bb129228\(v=vs.110\))」も参照してください。 + [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法については、「[コマンド ラインからのビルド](~/docs/visual-basic/reference/command-line-compiler/building-from-the-command-line.md)」または「[csc.exe を使用したコマンド ラインからのビルド](~/docs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、[!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 「[方法: 完成した Windows フォーム コードの例を Visual Studio を使ってコンパイルして実行する](http://msdn.microsoft.com/library/Bb129228\(v=vs.110\))」も参照してください。 -## 参照 - - - - [BindingSource コンポーネント](../../../../docs/framework/winforms/controls/bindingsource-component.md) - [方法 : Windows フォーム コントロールを型にバインドする](../../../../docs/framework/winforms/controls/how-to-bind-a-windows-forms-control-to-a-type.md) \ No newline at end of file +## 関連項目 + + + + [BindingSource コンポーネント](../../../../docs/framework/winforms/controls/bindingsource-component.md) + [方法: Windows フォーム コントロールを型にバインドする](../../../../docs/framework/winforms/controls/how-to-bind-a-windows-forms-control-to-a-type.md) diff --git a/docs/framework/winforms/controls/how-to-delete-or-hide-columns-in-the-windows-forms-datagrid-control.md b/docs/framework/winforms/controls/how-to-delete-or-hide-columns-in-the-windows-forms-datagrid-control.md index 6ad426963d3..9729ba7f99e 100644 --- a/docs/framework/winforms/controls/how-to-delete-or-hide-columns-in-the-windows-forms-datagrid-control.md +++ b/docs/framework/winforms/controls/how-to-delete-or-hide-columns-in-the-windows-forms-datagrid-control.md @@ -1,50 +1,54 @@ ---- -title: "方法 : Windows フォーム DataGrid コントロールの列を削除するまたは非表示にする | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "列 [Windows フォーム], 削除 (データ グリッド内で)" - - "列 [Windows フォーム], 非表示" - - "データ グリッド, 削除 (列を)" - - "データ グリッド, 非表示 (列を)" - - "DataGrid コントロール [Windows フォーム], 削除 (列を)" - - "DataGrid コントロール [Windows フォーム], 非表示 (列を)" +--- +title: "方法 : Windows フォーム DataGrid コントロールの列を削除するまたは非表示にする" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- data grids [Windows Forms], deleting columns +- DataGrid control [Windows Forms], deleting columns +- data grids [Windows Forms], hiding columns +- columns [Windows Forms], hiding +- columns [Windows Forms], deleting in data grids +- DataGrid control [Windows Forms], hiding columns ms.assetid: bcd0dd96-6687-4c48-b0e1-d5287b93ac91 -caps.latest.revision: 11 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 11 ---- -# 方法 : Windows フォーム DataGrid コントロールの列を削除するまたは非表示にする +caps.latest.revision: "11" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 1d89f14d034c1050d364282c04424b1326bcff9e +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム DataGrid コントロールの列を削除するまたは非表示にする > [!NOTE] -> コントロールは、 コントロールに代わると共に追加の機能を提供します。ただし、 コントロールは、下位互換性を保つ目的および将来使用する目的で保持されます。 詳細については、「[Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて](../../../../docs/framework/winforms/controls/differences-between-the-windows-forms-datagridview-and-datagrid-controls.md)」を参照してください。 +> コントロールは、 コントロールに代わると共に追加の機能を提供します。ただし、 コントロールは、下位互換性を保つ目的および将来使用する目的で保持されます。 詳細については、「[Windows フォームの DataGridView コントロールと DataGrid コントロールの違いについて](../../../../docs/framework/winforms/controls/differences-between-the-windows-forms-datagridview-and-datagrid-controls.md)」を参照してください。 - クラスのメンバーである オブジェクトと オブジェクトのプロパティおよびメソッドを使用して、Windows フォーム コントロールの列をプログラムで削除したり非表示にしたりできます。 + プログラムで削除するか、Windows フォーム内の列を非表示にのプロパティとメソッドを使用して、コントロール、オブジェクト (のメンバーである、クラス)。 - 削除した列や非表示にした列は、グリッドが連結されているデータ ソースに引き続き含まれていて、プログラムでアクセスできます。 単にデータ グリッドに表示されないだけです。 + 削除または非表示の列は、データ ソース、グリッドがバインドされ、プログラムでアクセスできますにまだ存在します。 データ グリッドに表示されますなくなるだけです。 > [!NOTE] -> アプリケーションがデータの特定の列にアクセスせず、それらの列をデータ グリッドに表示する必要がないのであれば、通常はそれらの列をデータ ソースに含める必要性はありません。 +> アプリケーションが特定の列のデータにアクセスできません、データ グリッドに表示しない場合は、し、必要がある可能性がありますこれらに含めるデータ ソースの最初の場所。 -### プログラムで DataGrid から列を削除するには +### データ グリッドから列をプログラムで削除するには -1. フォームの宣言領域で、 クラスの新しいインスタンスを宣言します。 +1. フォームの宣言領域内の新しいインスタンスを宣言、クラスです。 -2. プロパティに、スタイルを適用するデータ ソース内のテーブルを設定します。 次の例では、 プロパティを使用しています。このプロパティは既に設定されていると仮定しています。 +2. 設定、スタイルを適用するデータ ソース内のテーブルにプロパティです。 次の例では、プロパティで、既に設定されていることを前提としています。 -3. データ グリッドのテーブル スタイル コレクションに新しい オブジェクトを追加します。 +3. 新しい追加を datagrid のテーブル スタイルのコレクション オブジェクト。 -4. 削除する列の列インデックスを指定して、 コレクションの メソッドを呼び出します。 +4. 呼び出す、のメソッド、コレクションを削除する列の列インデックスを指定します。 ```vb ' Declare a new DataGridTableStyle in the @@ -62,7 +66,6 @@ caps.handback.revision: 11 ' Delete the first column (index 0) DataGrid1.TableStyles(0).GridColumnStyles.RemoveAt(0) End Sub - ``` ```csharp @@ -84,15 +87,15 @@ caps.handback.revision: 11 } ``` -### プログラムで DataGrid の列を非表示にするには +### DataGrid の列をプログラムで非表示にするには -1. フォームの宣言領域で、 クラスの新しいインスタンスを宣言します。 +1. フォームの宣言領域内の新しいインスタンスを宣言、クラスです。 -2. プロパティに、スタイルを適用するデータ ソース内のテーブルを設定します。 次のコード例では、 プロパティを使用しています。このプロパティは既に設定されていると仮定しています。 +2. 設定、のプロパティ、スタイルを適用するデータ ソース内のテーブルにします。 次のコード例では、プロパティで、既に設定されていることを前提としています。 -3. データ グリッドのテーブル スタイル コレクションに新しい オブジェクトを追加します。 +3. 新しい追加を datagrid のテーブル スタイルのコレクション オブジェクト。 -4. 非表示にする列の列インデックスを指定して `Width` プロパティを 0 に設定すると、列が非表示になります。 +4. 設定して、列を非表示にその`Width`プロパティを非表示にするのには、列の列インデックスを指定する 0 にします。 ```vb ' Declare a new DataGridTableStyle in the @@ -110,7 +113,6 @@ caps.handback.revision: 11 ' Hide the first column (index 0) DataGrid1.TableStyles(0).GridColumnStyles(0).Width = 0 End Sub - ``` ```csharp @@ -132,6 +134,6 @@ caps.handback.revision: 11 } ``` -## 参照 - [方法 : Windows フォーム DataGrid コントロールに表示されるデータを実行時に変更する](../../../../docs/framework/winforms/controls/change-displayed-data-at-run-time-wf-datagrid-control.md) - [方法 : Windows フォーム DataGrid コントロールにテーブルと列を追加する](../../../../docs/framework/winforms/controls/how-to-add-tables-and-columns-to-the-windows-forms-datagrid-control.md) \ No newline at end of file +## 関連項目 + [方法: Windows フォーム DataGrid コントロールに表示されるデータを実行時に変更する](../../../../docs/framework/winforms/controls/change-displayed-data-at-run-time-wf-datagrid-control.md) + [方法: Windows フォーム DataGrid コントロールにテーブルと列を追加する](../../../../docs/framework/winforms/controls/how-to-add-tables-and-columns-to-the-windows-forms-datagrid-control.md) diff --git a/docs/framework/winforms/controls/how-to-display-a-control-in-the-choose-toolbox-items-dialog-box.md b/docs/framework/winforms/controls/how-to-display-a-control-in-the-choose-toolbox-items-dialog-box.md index b0e087b6d0e..889c0797a84 100644 --- a/docs/framework/winforms/controls/how-to-display-a-control-in-the-choose-toolbox-items-dialog-box.md +++ b/docs/framework/winforms/controls/how-to-display-a-control-in-the-choose-toolbox-items-dialog-box.md @@ -1,43 +1,44 @@ ---- -title: "方法: [ツールボックス アイテムの選択] ダイアログ ボックスにコントロールを表示する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "グローバル アセンブリ キャッシュ、[ツールボックス アイテムの選択] ダイアログ ボックス" - - "AssemblyFoldersEx、[ツールボックス アイテムの選択] ダイアログ ボックス" - - "コントロール、[ツールボックス アイテムの選択] ダイアログ ボックスでの表示" - - "アセンブリ フォルダー登録、[ツールボックス アイテムの選択] ダイアログ ボックス" - - "[ツールボックス アイテムの選択] ダイアログ ボックス、コントロールの表示" +--- +title: "方法: [ツールボックス アイテムの選択] ダイアログ ボックスにコントロールを表示する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- global assembly cache [Windows Forms], Choose Toolbox Items dialog box +- AssemblyFoldersEx [Windows Forms], Choose Toolbox Items dialog box +- controls [Windows Forms], display in Choose Toolbox Items dialog box +- assembly folder registration [Windows Forms], Choose Toolbox Items dialog box +- Choose Toolbox Items dialog box [Windows Forms], display control ms.assetid: 01ef6eba-d044-40f0-951d-78eff7ebd9a9 -caps.latest.revision: 13 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 13 ---- -# 方法: [ツールボックス アイテムの選択] ダイアログ ボックスにコントロールを表示する -コントロールを作成して配布するときに、**\[ツールボックス アイテムの選択\]** ダイアログ ボックスにコントロールを表示できます。このダイアログ ボックスは、**ツールボックス**を右クリックし、**\[アイテムの選択\]** をクリックすると表示されます。 このダイアログ ボックスにコントロールを表示できるようにするには、AssemblyFoldersEx 登録プロシージャを使用します。 +caps.latest.revision: "13" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: f7bbb13e8a2b877d0f503e091b5bb8b1e7e89d00 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法: [ツールボックス アイテムの選択] ダイアログ ボックスにコントロールを表示する +を作成およびコントロールを配置することがそれらのコントロールに表示される、**ツールボックス アイテムの選択**を右クリックしたときに表示されるダイアログ ボックスで、**ツールボックス**選択**項目を選択して**です。 AssemblyFoldersEx 登録手順を使用してこのダイアログ ボックスに表示するコントロールを有効にすることができます。 -### \[ツールボックス アイテムの選択\] ダイアログ ボックスにコントロールを表示するには +### ツールボックス アイテムの選択 ダイアログ ボックスで、コントロールを表示するには -- コントロール アセンブリをグローバル アセンブリ キャッシュにインストールします。 詳細については、「[方法 : グローバル アセンブリ キャッシュにアセンブリをインストールする](../../../../docs/framework/app-domains/how-to-install-an-assembly-into-the-gac.md)」を参照してください。 +- コントロール アセンブリをグローバル アセンブリ キャッシュにインストールします。 詳細については、次を参照してください[する方法: グローバル アセンブリ キャッシュにアセンブリをインストール。](../../../../docs/framework/app-domains/how-to-install-an-assembly-into-the-gac.md) または -- AssemblyFoldersEx 登録プロシージャを使用して、コントロールとそれに関連付けられているデザイン時アセンブリを登録します。 AssemblyFoldersEx は、サードパーティ ベンダーでサポートされているフレームワークの各バージョンのパスを格納するレジストリの位置です。 このレジストリの位置でデザイン時の解決を調べると、参照アセンブリを確認できます。 レジストリ スクリプトでツールボックスに表示するコントロールを指定できます。 詳細については、「[カスタム コントロールとデザイン時アセンブリの配置](http://msdn.microsoft.com/ja-jp/96158eb0-b691-4ae1-9e7b-3c65a1b798cb)」を参照してください。 +- AssemblyFoldersEx 登録手順を使用して、コントロールとその関連付けられたデザイン時アセンブリを登録します。 AssemblyFoldersEx は、サード パーティ ベンダーがサポートされる framework の各バージョンのパスを格納する場所のレジストリの場所です。 デザイン時の解像度は、この参照アセンブリを検索するレジストリの場所で確認できます。 レジストリ スクリプトは、ツールボックスに表示するコントロールを指定できます。 詳細については、次を参照してください。[カスタム コントロールとデザイン時アセンブリ (Visual Studio 2013) の展開](http://msdn.microsoft.com/en-us/96158eb0-b691-4ae1-9e7b-3c65a1b798cb)です。 -## 参照 - [Choose Toolbox Items Dialog Box \(Visual Studio\)](http://msdn.microsoft.com/ja-jp/bd07835f-18a8-433e-bccc-7141f65263bb) - [カスタム コントロールとデザイン時アセンブリの配置](http://msdn.microsoft.com/ja-jp/96158eb0-b691-4ae1-9e7b-3c65a1b798cb) - [デザイン時の Windows フォーム コントロールの開発](../../../../docs/framework/winforms/controls/developing-windows-forms-controls-at-design-time.md) - [方法 : グローバル アセンブリ キャッシュにアセンブリをインストールする](../../../../docs/framework/app-domains/how-to-install-an-assembly-into-the-gac.md) - [チュートリアル : ツールボックスへのカスタム コンポーネントの自動設定](../../../../docs/framework/winforms/controls/walkthrough-automatically-populating-the-toolbox-with-custom-components.md) \ No newline at end of file +## 関連項目 + [[ツールボックス アイテムの選択] ダイアログ ボックス (Visual Studio)](http://msdn.microsoft.com/en-us/bd07835f-18a8-433e-bccc-7141f65263bb) + [カスタム コントロールとデザイン時アセンブリ (Visual Studio 2013) の展開](http://msdn.microsoft.com/en-us/96158eb0-b691-4ae1-9e7b-3c65a1b798cb) + [デザイン時の Windows フォーム コントロールの開発](../../../../docs/framework/winforms/controls/developing-windows-forms-controls-at-design-time.md) + [方法: グローバル アセンブリ キャッシュにアセンブリをインストールする](../../../../docs/framework/app-domains/how-to-install-an-assembly-into-the-gac.md) + [チュートリアル: ツールボックスへのカスタム コンポーネントの自動設定](../../../../docs/framework/winforms/controls/walkthrough-automatically-populating-the-toolbox-with-custom-components.md) diff --git a/docs/framework/winforms/controls/how-to-enable-column-reordering-in-the-windows-forms-datagridview-control.md b/docs/framework/winforms/controls/how-to-enable-column-reordering-in-the-windows-forms-datagridview-control.md index 6bfab9b0c41..c6124cb4e2a 100644 --- a/docs/framework/winforms/controls/how-to-enable-column-reordering-in-the-windows-forms-datagridview-control.md +++ b/docs/framework/winforms/controls/how-to-enable-column-reordering-in-the-windows-forms-datagridview-control.md @@ -1,48 +1,52 @@ ---- -title: "方法 : Windows フォーム DataGridView コントロールの列の並べ替えを有効にする | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "列 [Windows フォーム], 並べ替え" - - "データ グリッド, 並べ替え (列を)" - - "DataGridView コントロール [Windows フォーム], 列の順序" +--- +title: "方法 : Windows フォーム DataGridView コントロールの列の並べ替えを有効にする" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- DataGridView control [Windows Forms], column order +- data grids [Windows Forms], reordering columns +- columns [Windows Forms], reordering ms.assetid: cc20eae3-e4db-493f-95ce-a4215e29472a -caps.latest.revision: 15 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 15 ---- -# 方法 : Windows フォーム DataGridView コントロールの列の並べ替えを有効にする - コントロールで列の並べ替えを有効にすると、ユーザーは列ヘッダーをマウスでドラッグすることにより列を新しい場所に移動できます。 コントロールでは、 プロパティ値によってユーザーが列を別の場所に移動できるかどうかが決まります。 - - Visual Studio では、このタスクに対するサポートが用意されています。 「[方法: デザイナーを使用して Windows フォーム DataGridView コントロールの列の並び替えを有効にする](http://msdn.microsoft.com/library/8xwtyc86\(v=vs.110\))」も参照してください。 - -### プログラムで列の並べ替えを有効にするには - -- プロパティを `true` に設定します。 - - [!code-csharp[System.Windows.Forms.DataGridViewMisc#060](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#060)] +caps.latest.revision: "15" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: bec2f8f59ae29da55bf6c28e9e0261deeae31afe +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム DataGridView コントロールの列の並べ替えを有効にする + コントロールで列の並べ替えを有効にすると、ユーザーは列ヘッダーをマウスでドラッグすることにより列を新しい場所に移動できます。 コントロールでは、 プロパティ値によってユーザーが列を別の場所に移動できるかどうかが決まります。 + + Visual Studio では、このタスクに対するサポートが用意されています。 参照してください[する方法: Windows フォーム DataGridView コントロールを使用して、デザイナーで列の並べ替えを有効にします。](http://msdn.microsoft.com/library/8xwtyc86\(v=vs.110\)) + +### プログラムで列の並べ替えを有効にするには + +- プロパティを `true` に設定します。 + + [!code-csharp[System.Windows.Forms.DataGridViewMisc#060](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#060)] [!code-vb[System.Windows.Forms.DataGridViewMisc#060](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/VB/datagridviewmisc.vb#060)] -## コードのコンパイル +## コードのコンパイル この例で必要な要素は次のとおりです。 - `dataGridView1` という名前の コントロール。 -- アセンブリおよび アセンブリへの参照。 +- アセンブリおよび アセンブリへの参照。 -## 参照 - - - [Windows フォーム DataGridView コントロールでの列、行、およびセルの基本機能](../../../../docs/framework/winforms/controls/basic-column-row-and-cell-features-wf-datagridview-control.md) - [方法 : Windows フォーム DataGridView コントロールの列を固定する](../../../../docs/framework/winforms/controls/how-to-freeze-columns-in-the-windows-forms-datagridview-control.md) \ No newline at end of file +## 関連項目 + + + [Windows フォーム DataGridView コントロールでの列、行、およびセルの基本機能](../../../../docs/framework/winforms/controls/basic-column-row-and-cell-features-wf-datagridview-control.md) + [方法: Windows フォーム DataGridView コントロールの列を固定する](../../../../docs/framework/winforms/controls/how-to-freeze-columns-in-the-windows-forms-datagridview-control.md) diff --git a/docs/framework/winforms/controls/how-to-freeze-columns-in-the-windows-forms-datagridview-control.md b/docs/framework/winforms/controls/how-to-freeze-columns-in-the-windows-forms-datagridview-control.md index b02d031e965..e98489c9318 100644 --- a/docs/framework/winforms/controls/how-to-freeze-columns-in-the-windows-forms-datagridview-control.md +++ b/docs/framework/winforms/controls/how-to-freeze-columns-in-the-windows-forms-datagridview-control.md @@ -1,55 +1,59 @@ ---- -title: "方法 : Windows フォーム DataGridView コントロールの列を固定する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "列 [Windows フォーム], 固定" - - "DataGridView コントロール [Windows フォーム], 列 (常に表示される)" - - "DataGridView コントロール [Windows フォーム], 固定 (列を)" +--- +title: "方法 : Windows フォーム DataGridView コントロールの列を固定する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- columns [Windows Forms], freezing +- DataGridView control [Windows Forms], freezing columns +- DataGridView control [Windows Forms], columns always in view ms.assetid: 2ef8b1de-782e-4867-af8d-58171ab5c106 -caps.latest.revision: 17 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 17 ---- -# 方法 : Windows フォーム DataGridView コントロールの列を固定する -ユーザーが Windows フォームの コントロールに表示されるデータを確認するときに、1 つの列または列のセットを頻繁に参照しなければならないことがあります。 たとえば、多数の列を含む顧客情報のテーブルを表示するとき、顧客名を常に表示して、その他の列は表示領域外にスクロールするようにできると便利です。 - - この動作を実現するために、コントロールの列を固定することができます。 列を固定すると、左側 \(右から左へ記述する言語のスクリプトでは右側\) のすべての列も同様に固定されます。 固定された列は表示されたままになり、その他のすべての列はスクロールできます。 +caps.latest.revision: "17" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: baf2b0218c1818d6a92ca7790c8c50bd94ecfd9d +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム DataGridView コントロールの列を固定する +ユーザーが Windows フォームの コントロールに表示されるデータを確認するときに、1 つの列または列のセットを頻繁に参照しなければならないことがあります。 たとえば、多数の列を含む顧客情報のテーブルを表示するとき、顧客名を常に表示して、その他の列は表示領域外にスクロールするようにできると便利です。 + + この動作を実現するために、コントロールの列を固定することができます。 列を固定すると、左側 (右から左へ記述する言語のスクリプトでは右側) のすべての列も同様に固定されます。 固定された列は表示されたままになり、その他のすべての列はスクロールできます。 > [!NOTE] -> 列の並べ替えが有効な場合、固定された列は、固定されていない列とは異なるグループとして扱われます。 ユーザーは、どちらかのグループに列を再配置できますが、1 つのグループから別のグループに列を移動することはできません。 +> 列の並べ替えが有効な場合、固定された列は、固定されていない列とは異なるグループとして扱われます。 ユーザーは、どちらかのグループに列を再配置できますが、1 つのグループから別のグループに列を移動することはできません。 列の プロパティは、列が常にグリッド内で表示されるかどうかを決定します。 - Visual Studio では、このタスクに対するサポートが用意されています。 「[方法 : デザイナーを使用して Windows フォーム DataGridView コントロールの列を固定する](http://msdn.microsoft.com/library/717ss6s6\(v=vs.110\))」も参照してください。 + Visual Studio では、このタスクに対するサポートが用意されています。 参照してください[する方法: Windows フォーム DataGridView コントロールを使用して、デザイナーで列の固定](http://msdn.microsoft.com/library/717ss6s6\(v=vs.110\))です。 -### プログラムで列を固定するには +### プログラムで列を固定するには -- プロパティを `true` に設定します。 +- プロパティを `true` に設定します。 - [!code-csharp[System.Windows.Forms.DataGridViewMisc#061](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#061)] + [!code-csharp[System.Windows.Forms.DataGridViewMisc#061](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#061)] [!code-vb[System.Windows.Forms.DataGridViewMisc#061](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/VB/datagridviewmisc.vb#061)] -## コードのコンパイル +## コードのコンパイル この例で必要な要素は次のとおりです。 - `AddToCartButton` という名前の列を含む `dataGridView1` という名前の コントロール。 -- アセンブリおよび アセンブリへの参照。 +- アセンブリおよび アセンブリへの参照。 -## 参照 - - - [Windows フォーム DataGridView コントロールでの列、行、およびセルの基本機能](../../../../docs/framework/winforms/controls/basic-column-row-and-cell-features-wf-datagridview-control.md) - [方法 : Windows フォーム DataGridView コントロールの列の並べ替えを有効にする](../../../../docs/framework/winforms/controls/how-to-enable-column-reordering-in-the-windows-forms-datagridview-control.md) \ No newline at end of file +## 関連項目 + + + [Windows フォーム DataGridView コントロールでの列、行、およびセルの基本機能](../../../../docs/framework/winforms/controls/basic-column-row-and-cell-features-wf-datagridview-control.md) + [方法: Windows フォーム DataGridView コントロールの列の並べ替えを有効にする](../../../../docs/framework/winforms/controls/how-to-enable-column-reordering-in-the-windows-forms-datagridview-control.md) diff --git a/docs/framework/winforms/controls/how-to-hide-column-headers-in-the-windows-forms-datagridview-control.md b/docs/framework/winforms/controls/how-to-hide-column-headers-in-the-windows-forms-datagridview-control.md index 6ed92bc4f6c..e3c4532c0bf 100644 --- a/docs/framework/winforms/controls/how-to-hide-column-headers-in-the-windows-forms-datagridview-control.md +++ b/docs/framework/winforms/controls/how-to-hide-column-headers-in-the-windows-forms-datagridview-control.md @@ -1,45 +1,49 @@ ---- -title: "方法 : Windows フォーム DataGridView コントロールの列ヘッダーを非表示にする | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "列ヘッダー, 非表示" - - "列 [Windows フォーム], 非表示 (列ヘッダーを)" - - "DataGridView コントロール [Windows フォーム], 列ヘッダー" +--- +title: "方法 : Windows フォーム DataGridView コントロールの列ヘッダーを非表示にする" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- columns [Windows Forms], hiding column headers +- column headers [Windows Forms], hiding +- DataGridView control [Windows Forms], column headers ms.assetid: e4ad5f68-50d2-4b9e-93ee-9d622423a8ab -caps.latest.revision: 12 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 12 ---- -# 方法 : Windows フォーム DataGridView コントロールの列ヘッダーを非表示にする - を列ヘッダーなしで表示する必要が生じる場合があります。 コントロールの プロパティ値を使用して、列ヘッダーを表示するかどうかを決定します。 +caps.latest.revision: "12" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 18217f2edea5fde5f1f3b2d776cdacced15c73fe +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム DataGridView コントロールの列ヘッダーを非表示にする +表示することもありますが、列ヘッダーのないです。 コントロール、プロパティの値は、列ヘッダーが表示されるかどうかを決定します。 -### 列ヘッダーを非表示にするには +### 列ヘッダーを非表示にするには -- プロパティを `false` に設定します。 +- プロパティを `false` に設定します。 - [!code-csharp[System.Windows.Forms.DataGridViewMisc#062](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#062)] + [!code-csharp[System.Windows.Forms.DataGridViewMisc#062](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#062)] [!code-vb[System.Windows.Forms.DataGridViewMisc#062](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/VB/datagridviewmisc.vb#062)] -## コードのコンパイル - この例には、次の項目が必要です。 +## コードのコンパイル + この例で必要な要素は次のとおりです。 - `dataGridView1` という名前の コントロール。 -- アセンブリおよび アセンブリへの参照。 +- アセンブリおよび アセンブリへの参照。 -## 参照 - - - [Windows フォーム DataGridView コントロールでの列、行、およびセルの基本機能](../../../../docs/framework/winforms/controls/basic-column-row-and-cell-features-wf-datagridview-control.md) \ No newline at end of file +## 関連項目 + + + [Windows フォーム DataGridView コントロールでの列、行、およびセルの基本機能](../../../../docs/framework/winforms/controls/basic-column-row-and-cell-features-wf-datagridview-control.md) diff --git a/docs/framework/winforms/controls/how-to-insert-a-menustrip-into-an-mdi-drop-down-menu-windows-forms.md b/docs/framework/winforms/controls/how-to-insert-a-menustrip-into-an-mdi-drop-down-menu-windows-forms.md index c00ea7d6ecb..94bed01c041 100644 --- a/docs/framework/winforms/controls/how-to-insert-a-menustrip-into-an-mdi-drop-down-menu-windows-forms.md +++ b/docs/framework/winforms/controls/how-to-insert-a-menustrip-into-an-mdi-drop-down-menu-windows-forms.md @@ -1,63 +1,67 @@ ---- -title: "方法 : MDI ドロップダウン メニューに MenuStrip を挿入する (Windows フォーム) | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "MDI, マージ (メニュー項目を)" - - "MenuStrip コントロール [Windows フォーム], 挿入" - - "MenuStrip コントロール [Windows フォーム], マージ" +--- +title: "方法: MDI ドロップダウン メニューに MenuStrip を挿入する (Windows フォーム)" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- MenuStrip control [Windows Forms], inserting +- MenuStrip control [Windows Forms], merging +- MDI [Windows Forms], merging menu items ms.assetid: 0fad444e-26d9-49af-8860-044d9c10d608 -caps.latest.revision: 14 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 14 ---- -# 方法 : MDI ドロップダウン メニューに MenuStrip を挿入する (Windows フォーム) -アプリケーションの中には、マルチ ドキュメント インターフェイス \(MDI\) 子ウィンドウの種類が MDI 親ウィンドウと異なるものもあります。 たとえば、MDI 親がスプレッドシートで、MDI 子がグラフの場合があります。 そのような場合は、異なる種類の MDI 子ウィンドウがアクティブになったときに、MDI 子メニューの内容で MDI 親メニューの内容を更新する必要があります。 - - 次のプロシージャでは、、および の各プロパティを使用して、MDI 子メニューのメニュー項目のグループを MDI 親メニューのドロップダウン部分に挿入します。 MDI 子ウィンドウを閉じると、挿入したメニュー項目が MDI 親ウィンドウから削除されます。 - -### MenuStrip を MDI ドロップダウン メニューに挿入するには +caps.latest.revision: "14" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 2befec35090cf69c6a12cfe24c3512ae9a9b1bfa +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法: MDI ドロップダウン メニューに MenuStrip を挿入する (Windows フォーム) +アプリケーションの中には、マルチ ドキュメント インターフェイス (MDI) 子ウィンドウの種類が MDI 親ウィンドウと異なるものがあります。 たとえば、MDI 親がスプレッドシートで、MDI 子がグラフの場合があります。 そのような場合は、異なる種類の MDI 子ウィンドウがアクティブになったときに、MDI 子メニューの内容で MDI 親メニューの内容を更新する必要があります。 + + 次の手順を使用して、 、およびMDI 子メニューからメニュー項目のグループを MDI 親メニューのドロップダウン部分に挿入するプロパティです。 MDI 子ウィンドウを閉じると、MDI 親から挿入したメニュー項目が削除されます。 + +### MDI ドロップダウン メニューに MenuStrip を挿入するには 1. フォームを作成し、その プロパティを `true` に設定します。 2. を `Form1` に追加し、 プロパティを `true` に設定します。 -3. トップレベル メニュー項目を `Form1` に追加し、その プロパティを `&File` に設定します。 +3. トップレベル メニュー項目を `Form1` の に追加し、その プロパティを「`&File`」に設定しますす。 -4. 3 つのサブメニュー項目を `&File` メニュー項目に追加し、それらの プロパティをそれぞれ `&Open`、`&Import from`、および `E&xit` に設定します。 +4. 次の 3 つのサブメニュー項目を追加、`&File`メニュー項目とセット、プロパティ`&Open`、 `&Import from`、および`E&xit`です。 -5. 2 つのサブメニュー項目を `&Import from` サブメニュー項目に追加し、それらの プロパティをそれぞれ `&Word` と `&Excel` に設定します。 +5. 2 つのサブメニュー項目を追加、`&Import from`サブメニュー項目とそのプロパティを`&Word`と`&Excel`です。 -6. フォームをプロジェクトに追加し、 をフォームに追加して、`Form2` プロパティを `true` に設定します。 +6. プロジェクトにフォームを追加し、フォームに を追加し、`Form2` の のプロパティを `true` に設定します。 -7. トップレベル メニュー項目を `Form2` に追加し、その プロパティを `&File` に設定します。 +7. トップレベル メニュー項目を `Form2` の に追加し、その プロパティを「`&File`」に設定しますす。 -8. `Form2` の `&File` メニューにサブメニュー項目を追加します。追加する順番は、、`&Save`、`&Close` `and Save`、およびもう 1 つの となります。 +8. サブメニュー項目の追加、`&File`のメニュー`Form2`次の順序で: 、 `&Save`、 `&Close``and Save`、および別です。 -9. 次の表に示すように、`Form2` メニュー項目の プロパティと プロパティを設定します。 +9. 設定、のプロパティ、`Form2`メニュー項目を次の表に示すようにします。 |Form2 メニュー項目|MergeAction 値|MergeIndex 値| - |------------------|-------------------|------------------| - |File|MatchOnly|\-1| - |\[Separator\]|\[挿入\]|2| - |保存|\[挿入\]|3| - |\[保存して閉じる\]|\[挿入\]|4| - |\[Separator\]|\[挿入\]|5| + |---------------------|-----------------------|----------------------| + |ファイル|MatchOnly|-1| + |区切り記号|挿入|2| + |保存|挿入|3| + |保存して閉じる|挿入|4| + |区切り記号|挿入|5| -10. `&Open` イベントのイベント ハンドラーを作成します。 +10. の `&Open` の イベントにイベント ハンドラーを作成します。 -11. このイベント ハンドラー内に次のようなコード例を挿入し、`Form1` の MDI 子フォームとして `Form2` の新しいインスタンスを作成および表示します。 +11. このイベント ハンドラー内に次のコード例のようなコードを挿入し、`Form2` の新規インスタンスを `Form1` の MDI 子フォームとして作成し、表示します。 ```vb Private Sub openToolStripMenuItem_Click(ByVal sender As System.Object, _ @@ -68,7 +72,6 @@ caps.handback.revision: 14 'Display the new form. NewMDIChild.Show() End Sub - ``` ```csharp @@ -80,32 +83,29 @@ caps.handback.revision: 14 // Display the new form. newMDIChild.Show(); } - ``` -12. 次のようなコードを `&Open` に配置し、イベント ハンドラーを登録します。 +12. `&Open` に次のコード例のようなコードを配置し、イベント ハンドラーを登録します。 ```vb Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click - ``` ```csharp this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); - ``` -## コードのコンパイル - この例には、次の項目が必要です。 +## コードのコンパイル + この例で必要な要素は次のとおりです。 - `Form1` と `Form2` という名前の 2 つの コントロール。 -- `menuStrip1` という名前の `Form1` の コントロール、および `menuStrip2` という名前の `Form2` の コントロール。 +- `Form1` 上の `menuStrip1` という名前の コントロールと、`Form2` 上の `menuStrip2` という名前の コントロール。 -- アセンブリおよび アセンブリへの参照。 +- アセンブリおよび アセンブリへの参照。 -## 参照 - [方法 : MDI 親フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-parent-forms.md) - [方法 : MDI 子フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-child-forms.md) - [MenuStrip コントロールの概要](../../../../docs/framework/winforms/controls/menustrip-control-overview-windows-forms.md) \ No newline at end of file +## 関連項目 + [方法: MDI 親フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-parent-forms.md) + [方法: MDI 子フォームを作成する](../../../../docs/framework/winforms/advanced/how-to-create-mdi-child-forms.md) + [MenuStrip コントロールの概要](../../../../docs/framework/winforms/controls/menustrip-control-overview-windows-forms.md) diff --git a/docs/framework/winforms/controls/how-to-provide-standard-menu-items-to-a-form.md b/docs/framework/winforms/controls/how-to-provide-standard-menu-items-to-a-form.md index a783dda95ee..361da789eef 100644 --- a/docs/framework/winforms/controls/how-to-provide-standard-menu-items-to-a-form.md +++ b/docs/framework/winforms/controls/how-to-provide-standard-menu-items-to-a-form.md @@ -1,49 +1,53 @@ ---- -title: "方法 : フォームに標準メニュー項目を追加する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "メニュー項目, 標準" - - "ツール バー [Windows フォーム]" - - "ToolStrip コントロール [Windows フォーム]" +--- +title: "方法 : フォームに標準メニュー項目を追加する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- toolbars [Windows Forms] +- menu items [Windows Forms], standard +- ToolStrip control [Windows Forms] ms.assetid: 75db9126-e70c-4e81-921d-b83c0a4a9f50 -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 7 ---- -# 方法 : フォームに標準メニュー項目を追加する +caps.latest.revision: "7" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: ce828cc55e5e83d7129409330e64f1f763dee76b +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : フォームに標準メニュー項目を追加する フォームの標準のメニューを コントロールに提供できます。 - [!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] に、この機能の広範なサポートがあります。 + [!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)]に、この機能の広範なサポートがあります。 - 「[チュートリアル : 標準メニュー項目をフォームに用意する](http://msdn.microsoft.com/library/ms233662\(v=vs.110\))」も参照してください。 + 「[チュートリアル: 標準メニュー項目をフォームに用意する](http://msdn.microsoft.com/library/ms233662\(v=vs.110\))」も参照してください。 -## 使用例 - コントロールを使用して標準メニューを持つフォームを作成する方法を、次のコード例に示します。 メニュー項目の選択は、 コントロールに表示されます。 +## 例 + コントロールを使用して標準メニューを持つフォームを作成する方法を、次のコード例に示します。 メニュー項目の選択は、 コントロールに表示されます。 - [!code-csharp[System.Windows.Forms.ToolStrip.StandardMenu#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.ToolStrip.StandardMenu/CS/Form1.cs#1)] + [!code-csharp[System.Windows.Forms.ToolStrip.StandardMenu#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.ToolStrip.StandardMenu/CS/Form1.cs#1)] [!code-vb[System.Windows.Forms.ToolStrip.StandardMenu#1](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.ToolStrip.StandardMenu/VB/Form1.vb#1)] -## コードのコンパイル +## コードのコンパイル この例で必要な要素は次のとおりです。 - System、System.Drawing、および System.Windows.Forms の各アセンブリへの参照。 - [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法の詳細は、「[コマンド ラインからのビルド](../Topic/Building%20from%20the%20Command%20Line%20\(Visual%20Basic\).md)」または「[csc.exe を使用したコマンド ラインからのビルド](../../../../ocs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、[!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 「[方法 : 完成した Windows フォーム コードの例を Visual Studio を使ってコンパイルして実行する](http://msdn.microsoft.com/library/Bb129228\(v=vs.110\))」も参照してください。 + [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法については、「[コマンド ラインからのビルド](~/docs/visual-basic/reference/command-line-compiler/building-from-the-command-line.md)」または「[csc.exe を使用したコマンド ラインからのビルド](~/docs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、[!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 「[方法: 完成した Windows フォーム コードの例を Visual Studio を使ってコンパイルして実行する](http://msdn.microsoft.com/library/Bb129228\(v=vs.110\))」も参照してください。 -## 参照 - - - - [MenuStrip コントロール](../../../../docs/framework/winforms/controls/menustrip-control-windows-forms.md) \ No newline at end of file +## 関連項目 + + + + [MenuStrip コントロール](../../../../docs/framework/winforms/controls/menustrip-control-windows-forms.md) diff --git a/docs/framework/winforms/controls/how-to-resize-controls-on-windows-forms.md b/docs/framework/winforms/controls/how-to-resize-controls-on-windows-forms.md index 62c83c2f85e..cea188f1373 100644 --- a/docs/framework/winforms/controls/how-to-resize-controls-on-windows-forms.md +++ b/docs/framework/winforms/controls/how-to-resize-controls-on-windows-forms.md @@ -1,50 +1,51 @@ ---- -title: "方法 : Windows フォーム上のコントロールのサイズを変更する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -f1_keywords: - - "Size.Height" - - "Size.Width" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "コントロール [Windows フォーム], サイズ変更" - - "サイズ, コントロール" - - "Windows フォーム コントロール, サイズ" +--- +title: "方法 : Windows フォーム上のコントロールのサイズを変更する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +f1_keywords: +- Size.Height +- Size.Width +helpviewer_keywords: +- controls [Windows Forms], resizing +- size [Windows Forms], controls +- Windows Forms controls, size ms.assetid: d2dba441-a8c0-4705-b8e8-2e5d86d6e7ec -caps.latest.revision: 13 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 13 ---- -# 方法 : Windows フォーム上のコントロールのサイズを変更する -コントロールのサイズは個別に変更することも、複数のコントロールのサイズを変更することもできます。複数のコントロールのサイズ変更では、コントロールの種類 \( コントロールと コントロールなど\) に関係なく変更できます。 +caps.latest.revision: "13" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 84915ecf08c9ef5471ec3a48685893c42ef13013 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム上のコントロールのサイズを変更する +個々 のコントロールのサイズを変更することができ、サイズを変更する、同じまたは異なる種類の複数のコントロールなどコントロール。 -### コントロールのサイズを変更するには +### コントロールのサイズを変更するには -1. サイズ変更するコントロールをクリックし、8 つのサイズ ハンドルのうちの 1 つをドラッグします。 +1. 8 つのサイズ変更ハンドルの 1 つをドラッグしてサイズを変更するコントロールをクリックします。 > [!NOTE] - > コントロールを選択し、Shift キーを押しならが方向キーを押してコントロールのサイズを一度に 1 ピクセルずつ変更します。 コントロールのサイズを大幅に変更するには、Shift キーと Ctrl キーを押しながら ↓ キーまたは → キーを押します。 + > コントロールを選択し、一度にコントロール 1 ピクセルのサイズを変更する、SHIFT キーを押しながら方向キーを押します。 コントロールのサイズのサイズを変更する shift キーや CTRL キーを押しながら下または右方向キーを押します。 -### フォームで複数のコントロールのサイズを変更するには +### 複数のコントロールをフォーム上のサイズを変更するには -1. Ctrl キーまたは Shift キーを押して、サイズを変更するコントロールを選択します。 最初に選択したコントロールのサイズが他のコントロールに使用されます。 +1. Ctrl キーまたは SHIFT キーを押しながらし、サイズを変更するコントロールを選択します。 最初に選択したコントロールのサイズは、その他のコントロールに使用されます。 -2. **\[書式\]** メニューの **\[同じサイズに揃える\]** を選択し、4 つのオプションのいずれかを選択します。 最初の 3 つのコマンドでは、最初に選択されたコントロールに合わせてコントロールの大きさが変更されます。 +2. **形式**] メニューの [選択**同じサイズに揃える**、4 つのオプションのいずれかを選択します。 最初の 3 つのコマンドは、最初に選択されたコントロールに合わせてコントロールのサイズを変更します。 -## 参照 - [Windows フォーム コントロール](../../../../docs/framework/winforms/controls/index.md) - [Windows フォームでのコントロールの配置](../../../../docs/framework/winforms/controls/arranging-controls-on-windows-forms.md) - [各 Windows フォーム コントロールのラベル設定とショートカットの作成](../../../../docs/framework/winforms/controls/labeling-individual-windows-forms-controls-and-providing-shortcuts-to-them.md) - [Windows フォームで使用するコントロール](../../../../docs/framework/winforms/controls/controls-to-use-on-windows-forms.md) - [Windows フォーム コントロールの機能別一覧](../../../../docs/framework/winforms/controls/windows-forms-controls-by-function.md) - [How to: Resize Windows Forms Using the Designer](http://msdn.microsoft.com/ja-jp/3fe57c94-851c-45d7-a6f6-6b85f3c4a104) \ No newline at end of file +## 関連項目 + [Windows フォーム コントロール](../../../../docs/framework/winforms/controls/index.md) + [Windows フォームでのコントロールの配置](../../../../docs/framework/winforms/controls/arranging-controls-on-windows-forms.md) + [各 Windows フォーム コントロールのラベル設定とショートカットの作成](../../../../docs/framework/winforms/controls/labeling-individual-windows-forms-controls-and-providing-shortcuts-to-them.md) + [Windows フォームで使用するコントロール](../../../../docs/framework/winforms/controls/controls-to-use-on-windows-forms.md) + [Windows フォーム コントロールの機能別一覧](../../../../docs/framework/winforms/controls/windows-forms-controls-by-function.md) + [方法: デザイナーを使用して Windows フォームのサイズを変更します。](http://msdn.microsoft.com/en-us/3fe57c94-851c-45d7-a6f6-6b85f3c4a104) diff --git a/docs/framework/winforms/controls/how-to-set-alternating-row-styles-for-the-windows-forms-datagridview-control.md b/docs/framework/winforms/controls/how-to-set-alternating-row-styles-for-the-windows-forms-datagridview-control.md index 9dd29e79db1..d87aa2138a8 100644 --- a/docs/framework/winforms/controls/how-to-set-alternating-row-styles-for-the-windows-forms-datagridview-control.md +++ b/docs/framework/winforms/controls/how-to-set-alternating-row-styles-for-the-windows-forms-datagridview-control.md @@ -1,60 +1,64 @@ ---- -title: "方法 : Windows フォーム DataGridView コントロールに交互の行のスタイルを設定する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "データ グリッド, 行のスタイル" - - "DataGridView コントロール [Windows フォーム], 行のスタイル" - - "行, データ グリッド" +--- +title: "方法 : Windows フォーム DataGridView コントロールに交互の行のスタイルを設定する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- DataGridView control [Windows Forms], row styles +- data grids [Windows Forms], row styles +- rows [Windows Forms], data grids ms.assetid: 699ef759-458c-426d-ac87-7c7e71b018ae -caps.latest.revision: 14 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 14 ---- -# 方法 : Windows フォーム DataGridView コントロールに交互の行のスタイルを設定する -表形式のデータは、多くの場合、行の背景色が交互に別の色になった、帳簿のような形式でユーザーに表示されます。 この形式を使用すると、多数の列がある幅の広いテーブルで、ユーザーが各行にあるセルを簡単に識別できるようになります。 +caps.latest.revision: "14" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: a31e8eb02949c0f6db487e3cd1a6976f2ed37222 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム DataGridView コントロールに交互の行のスタイルを設定する +表形式のデータは、多くの場合、行の背景色が交互に別の色になった、帳簿のような形式でユーザーに表示されます。 この形式を使用すると、多数の列がある幅の広いテーブルで、ユーザーが各行にあるセルを簡単に識別できるようになります。 - コントロールを使用すると、1 行おきの完全なスタイル情報を指定できます。 これにより、背景色だけでなく、前景色とフォントなどのスタイルの特性を使用して、交互の行を区別することができます。 + コントロールを使用すると、1 行おきの完全なスタイル情報を指定できます。 これにより、背景色だけでなく、前景色とフォントなどのスタイルの特性を使用して、交互の行を区別することができます。 - Visual Studio では、このタスクに対するサポートが用意されています。 「[方法 : デザイナーを使用して Windows フォーム DataGridView コントロールに交互の行のスタイルを設定する](http://msdn.microsoft.com/library/3z9sk148\(v=vs.110\))」も参照してください。 + Visual Studio では、このタスクに対するサポートが用意されています。 参照してください[する方法: 交互の行のスタイルを Windows フォーム DataGridView コントロールを使用して、デザイナー設定](http://msdn.microsoft.com/library/3z9sk148\(v=vs.110\))です。 -### 交互の行のスタイルをプログラムで設定する +### 交互の行のスタイルをプログラムで設定する - プロパティと プロパティにより返される オブジェクトのプロパティを設定します。 - [!code-csharp[System.Windows.Forms.DataGridViewMisc#068](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#068)] + [!code-csharp[System.Windows.Forms.DataGridViewMisc#068](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/CS/datagridviewmisc.cs#068)] [!code-vb[System.Windows.Forms.DataGridViewMisc#068](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.Windows.Forms.DataGridViewMisc/VB/datagridviewmisc.vb#068)] > [!NOTE] - > プロパティと プロパティを使用して指定したスタイルは、列と のレベルで指定されたスタイルをオーバーライドしますが、個別の行とセルのレベルで設定されたスタイルによってオーバーライドされます。 詳細については、「[Windows フォーム DataGridView コントロールでのセルのスタイル](../../../../docs/framework/winforms/controls/cell-styles-in-the-windows-forms-datagridview-control.md)」を参照してください。 + > プロパティと プロパティを使用して指定したスタイルは、列と のレベルで指定されたスタイルをオーバーライドしますが、個別の行とセルのレベルで設定されたスタイルによってオーバーライドされます。 詳細については、次を参照してください。 [Windows フォーム DataGridView コントロールのセル スタイル](../../../../docs/framework/winforms/controls/cell-styles-in-the-windows-forms-datagridview-control.md)です。 -## コードのコンパイル +## コードのコンパイル この例で必要な要素は次のとおりです。 - `dataGridView1` という名前の コントロール。 -- 、および の各アセンブリへの参照。 +- 、および の各アセンブリへの参照。 -## 信頼性の高いプログラミング - 最大限のスケーラビリティを実現するには、各要素のスタイルのプロパティを個別に設定するのではなく、同じスタイルを使用する複数の行、列、またはセルで オブジェクトを共有してください。 詳細については、「[Windows フォーム DataGridView コントロールを拡張するための推奨される手順](../../../../docs/framework/winforms/controls/best-practices-for-scaling-the-windows-forms-datagridview-control.md)」を参照してください。 +## 信頼性の高いプログラミング + 最大限のスケーラビリティを実現するには、各要素のスタイルのプロパティを個別に設定するのではなく、同じスタイルを使用する複数の行、列、またはセルで オブジェクトを共有してください。 詳細については、次を参照してください。 [Windows フォーム DataGridView コントロールを拡張するためのベスト プラクティス](../../../../docs/framework/winforms/controls/best-practices-for-scaling-the-windows-forms-datagridview-control.md)です。 -## 参照 - - - - - [Windows フォームの DataGridView コントロールの基本的な書式設定およびスタイル設定](../../../../docs/framework/winforms/controls/basic-formatting-and-styling-in-the-windows-forms-datagridview-control.md) - [Windows フォーム DataGridView コントロールでのセルのスタイル](../../../../docs/framework/winforms/controls/cell-styles-in-the-windows-forms-datagridview-control.md) - [Windows フォーム DataGridView コントロールを拡張するための推奨される手順](../../../../docs/framework/winforms/controls/best-practices-for-scaling-the-windows-forms-datagridview-control.md) - [方法 : Windows フォーム DataGridView コントロールのフォントと色のスタイルを設定する](../../../../docs/framework/winforms/controls/how-to-set-font-and-color-styles-in-the-windows-forms-datagridview-control.md) \ No newline at end of file +## 関連項目 + + + + + [Windows フォームの DataGridView コントロールの基本的な書式設定およびスタイル設定](../../../../docs/framework/winforms/controls/basic-formatting-and-styling-in-the-windows-forms-datagridview-control.md) + [Windows フォーム DataGridView コントロールでのセルのスタイル](../../../../docs/framework/winforms/controls/cell-styles-in-the-windows-forms-datagridview-control.md) + [Windows フォーム DataGridView コントロールを拡張するための推奨される手順](../../../../docs/framework/winforms/controls/best-practices-for-scaling-the-windows-forms-datagridview-control.md) + [方法: Windows フォーム DataGridView コントロールのフォントと色のスタイルを設定する](../../../../docs/framework/winforms/controls/how-to-set-font-and-color-styles-in-the-windows-forms-datagridview-control.md) diff --git a/docs/framework/winforms/controls/how-to-set-icons-for-the-windows-forms-treeview-control.md b/docs/framework/winforms/controls/how-to-set-icons-for-the-windows-forms-treeview-control.md index 001697cd59c..5004e0f129c 100644 --- a/docs/framework/winforms/controls/how-to-set-icons-for-the-windows-forms-treeview-control.md +++ b/docs/framework/winforms/controls/how-to-set-icons-for-the-windows-forms-treeview-control.md @@ -1,65 +1,67 @@ ---- -title: "方法 : Windows フォーム TreeView コントロールのアイコンを設定する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "例 [Windows フォーム], TreeView コントロール" - - "アイコン, 設定 (TreeView コントロールの)" - - "ImageList コンポーネント [Windows フォーム], 追加 (イメージを)" - - "ツリー ノード (TreeView コントロールの), アイコン" - - "TreeView コントロール [Windows フォーム], ノード アイコン" +--- +title: "方法 : Windows フォーム TreeView コントロールのアイコンを設定する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +- cpp +helpviewer_keywords: +- examples [Windows Forms], TreeView control +- TreeView control [Windows Forms], node icons +- ImageList component [Windows Forms], adding images +- icons [Windows Forms], setting for TreeView control +- tree nodes in TreeView control [Windows Forms], icons ms.assetid: c14ddcc0-e5a6-4c21-a2d5-6799fd491781 -caps.latest.revision: 18 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 18 ---- -# 方法 : Windows フォーム TreeView コントロールのアイコンを設定する -Windows フォーム \(ツリー ビュー\) コントロールでは、各ノードの横にアイコンを表示できます。 アイコンは、ノードのテキストのすぐ左に表示されます。 アイコンを表示するには、ツリー ビューに コントロールを関連付ける必要があります。 イメージ リストの詳細については、「[ImageList コンポーネント](../../../../docs/framework/winforms/controls/imagelist-component-windows-forms.md)」および「[方法 : Windows フォームの ImageList コンポーネントにイメージを追加または削除する](../../../../docs/framework/winforms/controls/how-to-add-or-remove-images-with-the-windows-forms-imagelist-component.md)」を参照してください。 +caps.latest.revision: "18" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 5abe07a80e457c4a0254b4c1a734cba2f6ed1766 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム TreeView コントロールのアイコンを設定する +Windows フォームコントロールは、各ノードの横にあるアイコンを表示できます。 アイコンは、ノードのテキストのすぐ左側に配置されます。 これらのアイコンを表示するには、ツリー ビューを関連付ける必要があります、コントロール。 イメージ リストの詳細については、次を参照してください。 [ImageList コンポーネント](../../../../docs/framework/winforms/controls/imagelist-component-windows-forms.md)と[する方法: 追加または削除する Windows フォームの ImageList コンポーネントにイメージを](../../../../docs/framework/winforms/controls/how-to-add-or-remove-images-with-the-windows-forms-imagelist-component.md)です。 > [!NOTE] -> .NET Framework Version 1.1 のバグによって、アプリケーションから を呼び出すときに、画像が ノードに表示されません。 このバグに対処するには、 の呼び出し直後に `Main` メソッドで を呼び出します。 このバグは、[!INCLUDE[dnprdnlong](../../../../includes/dnprdnlong-md.md)] で修正されています。 +> Microsoft .NET Framework version 1.1 でのバグを防止イメージ上に表示されるノード、アプリケーションを呼び出すとです。 このバグを回避するで、`Main`メソッドを呼び出した後すぐにです。 このバグは固定で[!INCLUDE[dnprdnlong](../../../../includes/dnprdnlong-md.md)]です。 -### ツリー ビューにイメージを表示するには +### ツリー ビューでイメージを表示するには -1. コントロールの プロパティを使用する既存の コントロールに設定します。 +1. 設定、コントロールのを既存のプロパティコントロールを使用する場合します。 - これらのプロパティは、デザイナーの \[プロパティ\] ウィンドウで設定するか、またはコードで設定できます。 + デザイナーの [プロパティ] ウィンドウまたはコードでは、これらのプロパティを設定できます。 ```vb TreeView1.ImageList = ImageList1 - ``` ```csharp treeView1.ImageList = imageList1; - ``` ```cpp treeView1->ImageList = imageList1; ``` -2. ノードの プロパティと を設定します。 プロパティは、ノードが通常の状態のときや展開された状態のときに表示されるイメージを決定します。 プロパティは、ノードが選択された状態のときに表示されるイメージを決定します。 +2. ノードの設定プロパティです。 プロパティは、ノードの通常および展開されている状態の表示されるイメージを決定し、プロパティが、そのノードの選択された状態に表示されるイメージを決定します。 - これらのプロパティは、コードで設定するか、または TreeNode エディターで設定できます。 TreeNode エディターを開くには、\[プロパティ\] ウィンドウの プロパティの横にある省略記号ボタン \(![VisualStudioEllipsesButton スクリーンショット](../../../../docs/framework/winforms/media/vbellipsesbutton.png "vbEllipsesButton")\) をクリックします。 + コードでは、または TreeNode エディター内で、これらのプロパティを設定できます。 TreeNode エディターを開くには、省略記号ボタンをクリックして ( ![VisualStudioEllipsesButton スクリーン ショット](../../../../docs/framework/winforms/media/vbellipsesbutton.png "vbEllipsesButton")) の横に、 [プロパティ] ウィンドウのプロパティです。 ```vb ' (Assumes that ImageList1 contains at least two images and ' the TreeView control contains a selected image.) TreeView1.SelectedNode.ImageIndex = 0 TreeView1.SelectedNode.SelectedImageIndex = 1 - ``` ```csharp @@ -67,7 +69,6 @@ Windows フォーム \(ツリー ビュー\ // the TreeView control contains a selected image.) treeView1.SelectedNode.ImageIndex = 0; treeView1.SelectedNode.SelectedImageIndex = 1; - ``` ```cpp @@ -77,9 +78,9 @@ Windows フォーム \(ツリー ビュー\ treeView1->SelectedNode->SelectedImageIndex = 1; ``` -## 参照 - [TreeView コントロールの概要](../../../../docs/framework/winforms/controls/treeview-control-overview-windows-forms.md) - [方法 : Windows フォーム TreeView コントロールでノードを追加および削除する](../../../../docs/framework/winforms/controls/how-to-add-and-remove-nodes-with-the-windows-forms-treeview-control.md) - [方法 : Windows フォーム TreeView コントロールのすべてのノードを反復処理する](../../../../docs/framework/winforms/controls/how-to-iterate-through-all-nodes-of-a-windows-forms-treeview-control.md) - [方法 : クリックされた TreeView ノードを判別する](../../../../docs/framework/winforms/controls/how-to-determine-which-treeview-node-was-clicked-windows-forms.md) - [方法 : TreeView コントロールまたは ListView コントロール \(Windows フォーム\) にカスタム情報を追加する](../../../../docs/framework/winforms/controls/add-custom-information-to-a-treeview-or-listview-control-wf.md) \ No newline at end of file +## 関連項目 + [TreeView コントロールの概要](../../../../docs/framework/winforms/controls/treeview-control-overview-windows-forms.md) + [方法: Windows フォーム TreeView コントロールでノードを追加および削除する](../../../../docs/framework/winforms/controls/how-to-add-and-remove-nodes-with-the-windows-forms-treeview-control.md) + [方法: Windows フォーム TreeView コントロールのすべてのノードを反復処理する](../../../../docs/framework/winforms/controls/how-to-iterate-through-all-nodes-of-a-windows-forms-treeview-control.md) + [方法: クリックされた TreeView ノードを判別する](../../../../docs/framework/winforms/controls/how-to-determine-which-treeview-node-was-clicked-windows-forms.md) + [方法: TreeView コントロールまたは ListView コントロール (Windows フォーム) にカスタム情報を追加する](../../../../docs/framework/winforms/controls/add-custom-information-to-a-treeview-or-listview-control-wf.md) diff --git a/docs/framework/winforms/controls/how-to-size-a-windows-forms-label-control-to-fit-its-contents.md b/docs/framework/winforms/controls/how-to-size-a-windows-forms-label-control-to-fit-its-contents.md index f30a53014cd..c9a67812540 100644 --- a/docs/framework/winforms/controls/how-to-size-a-windows-forms-label-control-to-fit-its-contents.md +++ b/docs/framework/winforms/controls/how-to-size-a-windows-forms-label-control-to-fit-its-contents.md @@ -1,39 +1,40 @@ ---- -title: "方法 : Windows フォーム Label コントロールのサイズを内容に合わせて変更する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "キャプション, サイズ変更" - - "Label コントロール [Windows フォーム], サイズ変更 (内容に合わせた)" - - "ラベル, サイズ変更 (内容に合わせた)" - - "サイズ, コントロール" - - "サイズ変更コントロール" +--- +title: "方法 : Windows フォーム Label コントロールのサイズを内容に合わせて変更する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- captions [Windows Forms], sizing +- sizing controls +- size [Windows Forms], controls +- labels [Windows Forms], sizing to fit contents +- Label control [Windows Forms], sizing to fit contents ms.assetid: 99648964-63b2-438c-980e-d24103ad602b -caps.latest.revision: 7 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 7 ---- -# 方法 : Windows フォーム Label コントロールのサイズを内容に合わせて変更する -Windows フォーム コントロールは、単一行または複数行で作成できます。コントロールのサイズは、固定するか、またはキャプションに合わせて自動的に変更できます。 プロパティは、キャプションの大きさに合わせてコントロールのサイズを変更するときに役立ちます。キャプションが実行時に変化する場合は、このプロパティを使用すると便利です。 +caps.latest.revision: "7" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: bd89d72264e5837d2c41fcb0ab024a7b16f4205b +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Windows フォーム Label コントロールのサイズを内容に合わせて変更する +Windows フォームコントロールは、単一行または複数の行を指定できますしたりできるか、固定サイズで、キャプション、それに合わせて自体を自動的に変更できます。 プロパティは、拡大または縮小のキャプションに合わせてコントロールのサイズが、実行時に、キャプションが変更される場合に特に便利です。 -### 内容に合わせて Label コントロールのサイズを動的に変更するには +### 内容に合わせて動的にサイズを変更するラベル コントロールを作成するには -1. プロパティを `true` に設定します。 +1. 設定のプロパティを`true`です。 - プロパティを `false` に設定した場合、 プロパティに指定したテキストは、可能な場合は次の行に折り返されます。ただし、コントロールのサイズが大きくなることはありません。 + 場合に設定されている`false`、指定した単語、プロパティは、可能であれば、次の行に折り返されますが、コントロールは拡張されません。 -## 参照 - [方法 : Windows フォームの Label コントロールでアクセス キーを作成する](../../../../docs/framework/winforms/controls/how-to-create-access-keys-with-windows-forms-label-controls.md) - [Label コントロールの概要](../../../../docs/framework/winforms/controls/label-control-overview-windows-forms.md) - [Label コントロール](../../../../docs/framework/winforms/controls/label-control-windows-forms.md) \ No newline at end of file +## 関連項目 + [方法: Windows フォームの Label コントロールでアクセス キーを作成する](../../../../docs/framework/winforms/controls/how-to-create-access-keys-with-windows-forms-label-controls.md) + [Label コントロールの概要](../../../../docs/framework/winforms/controls/label-control-overview-windows-forms.md) + [Label コントロール](../../../../docs/framework/winforms/controls/label-control-windows-forms.md) diff --git a/docs/framework/winforms/controls/raise-change-notifications--bindingsource.md b/docs/framework/winforms/controls/raise-change-notifications--bindingsource.md index 6f0ffb92227..20d2705467f 100644 --- a/docs/framework/winforms/controls/raise-change-notifications--bindingsource.md +++ b/docs/framework/winforms/controls/raise-change-notifications--bindingsource.md @@ -1,53 +1,57 @@ ---- -title: "方法 : BindingSource と INotifyPropertyChanged の各インターフェイスを使用して変更通知を発生させる | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "BindingSource コンポーネント [Windows フォーム], および IPropertyChange" - - "BindingSource コンポーネント [Windows フォーム], 例" - - "変更通知" - - "変更通知, 発生" - - "データ ソース, 検出 (変更を)" - - "例 [Windows フォーム], BindingSource コンポーネント" - - "INotifyPropertyChanged インターフェイス, 使用 (BindingSource と共に)" +--- +title: "方法 : BindingSource と INotifyPropertyChanged の各インターフェイスを使用して変更通知を発生させる" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- change notifications [Windows Forms], raising +- BindingSource component [Windows Forms], and IPropertyChange +- data sources [Windows Forms], detecting changes +- examples [Windows Forms], BindingSource component +- change notifications +- INotifyPropertyChanged interface [Windows Forms], using with BindingSource +- BindingSource component [Windows Forms], examples ms.assetid: 7fa2cf51-c09f-4375-adf0-e36c5617f099 -caps.latest.revision: 15 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 15 ---- -# 方法 : BindingSource と INotifyPropertyChanged の各インターフェイスを使用して変更通知を発生させる -データ ソースに含まれる型が インターフェイスを実装し、プロパティ値が変更されると イベントを発生させる場合に、 コンポーネントがデータ ソースの変更を自動的に検出します。 これは、データ ソースの値が変わると、 にバインドされるコントロールが自動的に更新されるため便利です。 +caps.latest.revision: "15" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 049d87799e4ef241de0647815470cc853a29ea31 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : BindingSource と INotifyPropertyChanged の各インターフェイスを使用して変更通知を発生させる +データ ソースに含まれる型が インターフェイスを実装し、プロパティ値が変更されると イベントを発生させる場合に、 コンポーネントがデータ ソースの変更を自動的に検出します。 これは、データ ソースの値が変わると、 にバインドされるコントロールが自動的に更新されるため便利です。 > [!NOTE] -> データ ソースが を実装し、非同期操作を実行している場合は、バック グラウンド スレッド上のデータ ソースを変更しないようにします。 代わりに、バック グラウンド スレッド上のデータを読み取り、UI スレッドでリストにデータをマージする必要があります。 +> データ ソースが を実装し、非同期操作を実行している場合は、バック グラウンド スレッド上のデータ ソースを変更しないようにします。 代わりに、バック グラウンド スレッド上のデータを読み取り、UI スレッドでリストにデータをマージする必要があります。 -## 使用例 - 次のコード例は、 インターフェイスの簡単な実装を示します。 型の一覧にバインドされるときに、 がバインドされたコントロールにデータ ソースの変更を自動的に渡す方法も示します。 +## 例 + 次のコード例は、 インターフェイスの簡単な実装を示します。 型の一覧にバインドされるときに、 がバインドされたコントロールにデータ ソースの変更を自動的に渡す方法も示します。 - `CallerMemberName` 属性を使用する場合、`NotifyPropertyChanged` メソッドの呼び出しが、文字列引数としてプロパティ名を指定する必要はありません。 詳細については、「[呼び出し元情報](../Topic/Caller%20Information%20\(C%23%20and%20Visual%20Basic\).md)」を参照してください。 + `CallerMemberName` 属性を使用する場合、`NotifyPropertyChanged` メソッドの呼び出しが、文字列引数としてプロパティ名を指定する必要はありません。 詳細については、次を参照してください。[呼び出し元情報](http://msdn.microsoft.com/library/9cb2b8c0-c4f6-44b8-9c90-38948455b373)です。 - [!code-csharp[System.ComponentModel.IPropertyChangeExample#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.ComponentModel.IPropertyChangeExample/CS/Form1.cs#1)] + [!code-csharp[System.ComponentModel.IPropertyChangeExample#1](../../../../samples/snippets/csharp/VS_Snippets_Winforms/System.ComponentModel.IPropertyChangeExample/CS/Form1.cs#1)] [!code-vb[System.ComponentModel.IPropertyChangeExample#1](../../../../samples/snippets/visualbasic/VS_Snippets_Winforms/System.ComponentModel.IPropertyChangeExample/VB/Form1.vb#1)] -## コードのコンパイル +## コードのコンパイル この例で必要な要素は次のとおりです。 - System、System.Data、System.Drawing、および System.Windows.Forms の各アセンブリへの参照。 - [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法の詳細は、「[コマンド ラインからのビルド](../Topic/Building%20from%20the%20Command%20Line%20\(Visual%20Basic\).md)」または「[csc.exe を使用したコマンド ラインからのビルド](../../../../ocs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、[!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 「[方法 : 完成した Windows フォーム コードの例を Visual Studio を使ってコンパイルして実行する](http://msdn.microsoft.com/library/Bb129228\(v=vs.110\))」も参照してください。 + [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] または [!INCLUDE[csprcs](../../../../includes/csprcs-md.md)] のコマンド ラインからこの例をビルドする方法については、「[コマンド ラインからのビルド](~/docs/visual-basic/reference/command-line-compiler/building-from-the-command-line.md)」または「[csc.exe を使用したコマンド ラインからのビルド](~/docs/csharp/language-reference/compiler-options/command-line-building-with-csc-exe.md)」を参照してください。 また、コードを新しいプロジェクトに貼り付けることにより、 [!INCLUDE[vsprvs](../../../../includes/vsprvs-md.md)] でこの例をビルドすることもできます。 参照してください["http://msdn.microsoft.com/library/bb129228(v=vs.110)"のハイパーリンクをする方法: コンパイルし、完成した Windows フォーム コードの例を使用して Visual Studio を実行](http://msdn.microsoft.com/library/Bb129228\(v=vs.110\))です。 -## 参照 - - [BindingSource コンポーネント](../../../../docs/framework/winforms/controls/bindingsource-component.md) - [方法 : BindingSource ResetItem メソッドを使用して変更通知を発生させる](../../../../docs/framework/winforms/controls/how-to-raise-change-notifications-using-the-bindingsource-resetitem-method.md) \ No newline at end of file +## 関連項目 + + [BindingSource コンポーネント](../../../../docs/framework/winforms/controls/bindingsource-component.md) + [方法: BindingSource ResetItem メソッドを使用して変更通知を発生させる](../../../../docs/framework/winforms/controls/how-to-raise-change-notifications-using-the-bindingsource-resetitem-method.md) diff --git a/docs/framework/winforms/controls/walkthrough-inheriting-from-a-windows-forms-control-with-visual-basic.md b/docs/framework/winforms/controls/walkthrough-inheriting-from-a-windows-forms-control-with-visual-basic.md index 3329d5b0683..7aec1e2d8a8 100644 --- a/docs/framework/winforms/controls/walkthrough-inheriting-from-a-windows-forms-control-with-visual-basic.md +++ b/docs/framework/winforms/controls/walkthrough-inheriting-from-a-windows-forms-control-with-visual-basic.md @@ -1,75 +1,75 @@ ---- -title: "チュートリアル : Visual Basic による Windows フォーム コントロールからの継承 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "カスタム コントロール [Windows フォーム], 継承" - - "継承, control" - - "継承, カスタム コントロール" - - "継承, チュートリアル" - - "Windows フォーム コントロール, 継承" +--- +title: "チュートリアル : Visual Basic による Windows フォーム コントロールからの継承" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +dev_langs: vb +helpviewer_keywords: +- inheritance [Windows Forms], custom controls +- inheritance [Windows Forms], control +- Windows Forms controls, inheritance +- inheritance [Windows Forms], walkthroughs +- custom controls [Windows Forms], inheritance ms.assetid: fb58d7c8-b702-4478-ad31-b00cae118882 -caps.latest.revision: 16 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 16 ---- -# チュートリアル : Visual Basic による Windows フォーム コントロールからの継承 -[!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] では、*継承*によって強力なカスタム コントロールを作成できます。 継承を使用すると、標準の Windows フォーム コントロールの固有の機能をすべて保持しながら、カスタム機能も組み込んだコントロールを作成できます。 このチュートリアルでは、`ValueButton` という名前の簡単な継承コントロールを作成します。 このボタンは、標準の Windows フォーム コントロールの機能を継承し、`ButtonValue` というカスタム プロパティを公開します。 +caps.latest.revision: "16" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 0625695933b776b8cdbe5488adc116723b930dd0 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# チュートリアル : Visual Basic による Windows フォーム コントロールからの継承 +[!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] では、*継承*によって強力なカスタム コントロールを作成できます。 継承を使用すると、標準の Windows フォーム コントロールの固有の機能をすべて保持しながら、カスタム機能も組み込んだコントロールを作成できます。 このチュートリアルでは、`ValueButton` という単純な継承されたコントロールを作成します。 このボタンは、標準の Windows フォームの機能を継承制御、およびと呼ばれるカスタム プロパティを公開`ButtonValue`です。 > [!NOTE] -> 実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、**\[ツール\]** メニューの **\[設定のインポートとエクスポート\]** をクリックします。 詳細については、「[Customizing Development Settings in Visual Studio](http://msdn.microsoft.com/ja-jp/22c4debb-4e31-47a8-8f19-16f328d7dcd3)」を参照してください。 +> 実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、 **[ツール]** メニューの **[設定のインポートとエクスポート]** をクリックします。 詳細については、「 [Visual Studio での開発設定のカスタマイズ](http://msdn.microsoft.com/en-us/22c4debb-4e31-47a8-8f19-16f328d7dcd3)」を参照してください。 -## プロジェクトの作成 - 新しいプロジェクトを作成するときには、その名前を指定することにより、ルート名前空間、アセンブリ名、およびプロジェクト名を設定し、既定のコンポーネントが正しい名前空間に含まれるようにします。 +## プロジェクトの作成 + 新しいプロジェクトを作成するときは、ルート名前空間、アセンブリ名、プロジェクト名を設定し、既定のコンポーネントが適切な名前空間に含まれるようにするために、プロジェクトの名前を指定します。 -#### ValueButtonLib コントロール ライブラリおよび ValueButton コントロールを作成するには +#### ValueButtonLib コントロール ライブラリと ValueButton コントロールを作成するには -1. **\[ファイル\]** メニューの **\[新規作成\]** をポイントし、**\[プロジェクト\]** をクリックして **\[新しいプロジェクト\]** ダイアログ ボックスを開きます。 +1. **[ファイル]** メニューの **[新規作成]** をポイントし、**[プロジェクト]** をクリックして **[新しいプロジェクト]** ダイアログ ボックスを開きます。 -2. \[[!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] プロジェクト\] ボックスの一覧の **\[Windows フォーム コントロール ライブラリ\]** プロジェクト テンプレートを選択し、**\[プロジェクト名\]** ボックスに「`ValueButtonLib`」と入力します。 +2. [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] プロジェクトの一覧で **[Windows フォーム コントロール ライブラリ]** プロジェクト テンプレートを選択し、**[名前]** ボックスに「`ValueButtonLib`」と入力します。 - プロジェクト名 `ValueButtonLib` は、既定でルート名前空間にも割り当てられます。 ルート名前空間は、アセンブリ内のコンポーネント名の修飾に使用されます。 たとえば、`ValueButton` という名前のコンポーネントが 2 つのアセンブリに含まれる場合は、`ValueButtonLib.ValueButton` という形で目的の `ValueButton` コンポーネントを指定できます。 詳細については、「[Visual Basic における名前空間](../Topic/Namespaces%20in%20Visual%20Basic.md)」を参照してください。 + プロジェクト名 `ValueButtonLib` は、既定でルート名前空間にも割り当てられます。 ルート名前空間は、アセンブリ内のコンポーネント名の修飾に使用されます。 たとえば、`ValueButton` という名前のコンポーネントが 2 つのアセンブリに含まれている場合、`ValueButtonLib.ValueButton` を使用して目的の `ValueButton` コンポーネントを指定できます。 詳細については、「[Visual Basic における名前空間](~/docs/visual-basic/programming-guide/program-structure/namespaces.md)」を参照してください。 -3. **ソリューション エクスプローラー**で、**\[UserControl1.vb\]** を右クリックし、ショートカット メニューの **\[名前の変更\]** をクリックします。 ファイル名を「`ValueButton.vb`」に変更します。 コード要素 "UserControl1" へのすべての参照の名前を変更するかどうかを確認するダイアログ ボックスが表示されたら、**\[はい\]** をクリックします。 +3. **ソリューション エクスプローラー**で、**[UserControl1.vb]** を右クリックし、ショートカット メニューの **[名前の変更]** をクリックします。 ファイル名を `ValueButton.vb` に変更します。 コード要素 "UserControl1" へのすべての参照の名前を変更するかどうかをたずねられたら、**[はい]** をクリックします。 -4. **ソリューション エクスプローラー**の **\[すべてのファイルを表示\]** をクリックします。 +4. **ソリューション エクスプローラー**で、**[すべてのファイルを表示]** ボタンをクリックします。 -5. **\[ValueButton.vb\]** ノードを開き、デザイナー生成のコード ファイルである **ValueButton.Designer.vb** を表示します。 **コード エディター**でこのファイルを開きます。 +5. **[ValueButton.vb]** ノードを開いて、デザイナーによって生成されたコード ファイル (**ValueButton.Designer.vb**) を表示します。 このファイルを**コード エディター**で開きます。 -6. `Class` ステートメント、`Partial Public Class ValueButton` を検索し、このコントロールが継承した型を から に変更します。 これによって、継承されたコントロールは コントロールのすべての機能を継承できます。 +6. 検索、`Class`ステートメントでは、 `Partial Public Class ValueButton`、このコントロールから継承する型を変更およびです。 これにより、継承されたコントロールのすべての機能を継承する、コントロール。 -7. `InitializeComponent` メソッドを見つけ、 プロパティを割り当てる行を削除します。 このプロパティは、 コントロールには存在しません。 +7. 検索、`InitializeComponent`メソッドおよび削除を代入する行、プロパティです。 このプロパティに存在しません、コントロール。 -8. **\[ファイル\]** メニューの **\[すべてを保存\]** をクリックしてプロジェクトを保存します。 +8. **[ファイル]** メニューの **[すべて保存]** をクリックして、プロジェクトを保存します。 - ビジュアル デザイナーは使用できなくなりました。 コントロールは独自の描画を実行するため、デザイナーでは表示を変更できません。 ビジュアル表示は、コードで変更しない限り、継承元のクラス \(つまり、\) とまったく同じです。 + ビジュアル デザイナーは使用できなくなっていることに注意してください。 コントロールは独自の描画、デザイナーでその外観を変更することができません。 ビジュアル表現は同じでなければから継承するクラスと (つまり、 ) コードで変更しない限り、します。 > [!NOTE] -> UI 要素のないコンポーネントをデザイン サーフェイスに追加することはできます。 +> UI 要素のないコンポーネントをデザイン サーフェイスに追加することは可能です。 -## 継承したコントロールへのプロパティの追加 - 継承した Windows フォーム コントロールの可能な用途の 1 つとして、標準の Windows フォーム コントロールと同じ外観と操作性を持ちながらカスタム プロパティを公開するコントロールを作成できます。 ここでは、コントロールに `ButtonValue` という名前のプロパティを追加します。 +## 継承されたコントロールへのプロパティの追加 + 継承された Windows フォーム コントロールの考えられる用途の 1 つとして、外観と動作 (ルック アンド フィール) は標準の Windows フォーム コントロールと同じでありながら、カスタム プロパティを公開するコントロールの作成があります。 このセクションでは、`ButtonValue` というプロパティをコントロールに追加します。 -#### Value プロパティを追加するには +#### Value プロパティを追加するには -1. **ソリューション エクスプローラー**で、**\[ValueButton.vb\]** を右クリックし、ショートカット メニューの **\[コードの表示\]** をクリックします。 +1. **ソリューション エクスプローラー**で、**[ValueButton.vb]** を右クリックし、ショートカット メニューの **[コードの表示]** をクリックします。 -2. `Public Class ValueButton` ステートメントを探します。 このステートメントの直後に、次のコードを追加します。 +2. `Public Class ValueButton` ステートメントを見つけます。 このステートメントの直後に、次のコードを追加します。 - \[Visual Basic\] - - ``` + ```vb ' Creates the private variable that will store the value of your ' property. Private varValue as integer @@ -86,52 +86,52 @@ caps.handback.revision: 16 End Property ``` - このコードは、`ButtonValue` プロパティの格納方法と取得方法を設定します。 `Get` ステートメントは、返された値をプライベート変数 `varValue` に格納されている値に設定します。`Set` ステートメントは、`Value` キーワードを使用してプライベート変数の値を設定します。 + このコードでは、`ButtonValue` プロパティを格納し、取得するメソッドを設定しています。 `Get` ステートメントは、返された値を `varValue` プライベート変数に格納されている値に設定します。`Set` ステートメントは、`Value` キーワードを使用してプライベート変数の値を設定します。 -3. **\[ファイル\]** メニューの **\[すべてを保存\]** をクリックしてプロジェクトを保存します。 +3. **[ファイル]** メニューの **[すべて保存]** をクリックして、プロジェクトを保存します。 -## コントロールのテスト - コントロールはスタンドアロン プロジェクトではないため、コンテナーでホストする必要があります。 コントロールをテストするには、コントロールを実行するテスト プロジェクトを指定する必要があります。 また、コントロールをビルド \(コンパイル\) してテスト プロジェクトからもアクセスできるようにする必要があります。 ここでは、コントロールを作成し、Windows フォームでそのコントロールをテストします。 +## コントロールのテスト + コントロールはスタンドアロン プロジェクトではないため、コンテナー内でホストする必要があります。 コントロールをテストするには、コントロールを実行するテスト プロジェクトを指定する必要があります。 また、コントロールをビルド (コンパイル) して、テスト プロジェクトからアクセスできるようにする必要があります。 このセクションでは、コントロールをビルドし、Windows フォームでテストします。 -#### コントロールをビルドするには +#### コントロールをビルドするには -1. **\[ビルド\]** メニューの **\[ソリューションのビルド\]** をクリックします。 +1. **[ビルド]** メニューの **[ソリューションのビルド]**をクリックします。 - ビルドは、コンパイル エラーも警告もなしに完了します。 + コンパイル エラーも警告も発生せずに、ビルドが正常に完了します。 -#### テスト プロジェクトを作成するには +#### テスト プロジェクトを作成するには -1. **\[ファイル\]** メニューの **\[追加\]** をポイントし、**\[新しいプロジェクト\]** をクリックして **\[新しいプロジェクトの追加\]** ダイアログ ボックスを表示します。 +1. **[ファイル]** メニューの **[追加]** をポイントし、**[新しいプロジェクト]** をクリックして **[新しいプロジェクトの追加]** ダイアログ ボックスを開きます。 -2. [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] プロジェクト ノードを選択し、**\[Windows フォーム アプリケーション\]** をクリックします。 +2. [!INCLUDE[vbprvb](../../../../includes/vbprvb-md.md)] プロジェクト ノードを選択し、**[Windows フォーム アプリケーション]** をクリックします。 -3. **\[プロジェクト名\]** ボックスに「`Test`」と入力します。 +3. **[名前]** ボックスに「`Test`」と入力します。 -4. **ソリューション エクスプローラー**の **\[すべてのファイルを表示\]** をクリックします。 +4. **ソリューション エクスプローラー**で、**[すべてのファイルを表示]** ボタンをクリックします。 -5. **ソリューション エクスプローラー**で、テスト プロジェクトの **\[参照設定\]** ノードを右クリックし、ショートカット メニューの **\[参照の追加\]** をクリックして **\[参照の追加\]** ダイアログ ボックスを表示します。 +5. **ソリューション エクスプローラー**で、テスト プロジェクトの **[参照設定]** ノードを右クリックし、ショートカット メニューの **[参照の追加]** をクリックして **[参照の追加]** ダイアログ ボックスを表示します。 -6. **\[プロジェクト\]** タブをクリックします。 +6. **[プロジェクト]** タブをクリックします。 -7. **\[プロジェクト\]** タブをクリックします。 `ValueButtonLib` プロジェクトが **\[プロジェクト名\]** の下に表示されます。 プロジェクトをダブルクリックしてテスト プロジェクトへの参照を追加します。 +7. **[プロジェクト]** というラベルのタブをクリックします。 **[プロジェクト名]** に `ValueButtonLib` プロジェクトが表示されます。 プロジェクトをダブルクリックして、テスト プロジェクトへの参照を追加します。 -8. **ソリューション エクスプローラー**で、**\[Test\]** を右クリックし、**\[ビルド\]** をクリックします。 +8. **ソリューション エクスプローラー**で、**[Test]** を右クリックし、**[ビルド]** をクリックします。 -#### フォームにコントロールを追加するには +#### コントロールをフォームに追加するには -1. **ソリューション エクスプローラー**で、**\[Form1.vb\]** を右クリックし、ショートカット メニューの **\[デザイナーの表示\]** をクリックします。 +1. **ソリューション エクスプローラー**で、**[Form1.vb]** を右クリックし、ショートカット メニューの **[デザイナーの表示]** をクリックします。 -2. **ツールボックス**の **\[ValueButtonLib コンポーネント\]** をクリックします。 **\[ValueButton\]** をダブルクリックします。 +2. **ツールボックス**の **[ValueButtonLib コンポーネント]** をクリックします。 **[ValueButton]** をダブルクリックします。 **ValueButton** がフォームに表示されます。 -3. **\[ValueButton\]** を右クリックし、ショートカット メニューの **\[プロパティ\]** をクリックします。 +3. **[ValueButton]** を右クリックし、ショートカット メニューの **[プロパティ]** をクリックします。 -4. **\[プロパティ\]** ウィンドウで、このコントロールのプロパティを調べます。 標準のボタンによって公開されるのと同じプロパティの他に、追加のプロパティ `ButtonValue` が含まれています。 +4. **[プロパティ]** ウィンドウで、このコントロールのプロパティを調べます。 プロパティは、追加のプロパティである `ButtonValue` がある点を除き、標準ボタンで公開されるプロパティと同じです。 5. `ButtonValue` プロパティを `5` に設定します。 -6. **ツールボックス**の **\[すべての Windows フォーム\]** タブで、**\[Label\]** をダブルクリックしてフォームに コントロールを追加します。 +6. **すべての Windows フォーム**のタブ、**ツールボックス**をダブルクリックして**ラベル**を追加する、をフォームにコントロールです。 7. ラベルをフォームの中央に配置し直します。 @@ -141,25 +141,23 @@ caps.handback.revision: 16 9. 次のコード行を入力します。 - \[Visual Basic\] - - ``` + ```vb Label1.Text = CStr(ValueButton1.ButtonValue) ``` -10. **ソリューション エクスプローラー**で、**\[Test\]** を右クリックし、ショートカット メニューの **\[スタートアップ プロジェクトに設定\]** をクリックします。 +10. **ソリューション エクスプローラー**で、**[Test]** を右クリックし、ショートカット メニューの **[スタートアップ プロジェクトに設定]** をクリックします。 -11. **\[デバッグ\]** メニューの **\[デバッグ開始\]** をクリックします。 +11. **[デバッグ]** メニューの **[デバッグの開始]** をクリックします。 `Form1` が表示されます。 -12. \[`Valuebutton1`\] をクリックします。 +12. [`Valuebutton1`] をクリックします。 - `Label1` に数字 "5" が表示され、継承したコントロールの `ButtonValue` プロパティが `ValueButton1_Click` メソッドを介して `Label1` に渡されたことを示します。 このようにして、`ValueButton` コントロールは標準の Windows フォーム ボタンの機能をすべて継承しながら、追加のカスタム プロパティを公開します。 + `Label1` に数字の "5" が表示されます。これは、継承されたコントロールの `ButtonValue` プロパティが、`ValueButton1_Click` メソッドによって `Label1` に渡されたことを示しています。 このようにして、`ValueButton` コントロールは標準の Windows フォーム ボタンの機能をすべて継承しながら、追加のカスタム プロパティを公開します。 -## 参照 - [チュートリアル : Visual Basic による複合コントロールの作成](../../../../docs/framework/winforms/controls/walkthrough-authoring-a-composite-control-with-visual-basic.md) - [方法: \[ツールボックス アイテムの選択\] ダイアログ ボックスにコントロールを表示する](../../../../docs/framework/winforms/controls/how-to-display-a-control-in-the-choose-toolbox-items-dialog-box.md) - [.NET Framework を使用したカスタム Windows フォーム コントロールの開発](../../../../docs/framework/winforms/controls/developing-custom-windows-forms-controls.md) - [NOT IN BUILD: Inheritance in Visual Basic](http://msdn.microsoft.com/ja-jp/e5e6e240-ed31-4657-820c-079b7c79313c) - [Component Authoring Walkthroughs](../Topic/Component%20Authoring%20Walkthroughs.md) \ No newline at end of file +## 関連項目 + [チュートリアル: Visual Basic による複合コントロールの作成](../../../../docs/framework/winforms/controls/walkthrough-authoring-a-composite-control-with-visual-basic.md) + [方法: [ツールボックス アイテムの選択] ダイアログ ボックスにコントロールを表示する](../../../../docs/framework/winforms/controls/how-to-display-a-control-in-the-choose-toolbox-items-dialog-box.md) + [.NET Framework を使用したカスタム Windows フォーム コントロールの開発](../../../../docs/framework/winforms/controls/developing-custom-windows-forms-controls.md) + [継承の基礎 (Visual Basic)](~/docs/visual-basic/programming-guide/language-features/objects-and-classes/inheritance-basics.md) + [コンポーネント作成のチュートリアル](http://msdn.microsoft.com/library/c414cca9-2489-4208-8b38-954586d91c13) diff --git a/docs/framework/winforms/data-binding-and-windows-forms.md b/docs/framework/winforms/data-binding-and-windows-forms.md index 7c600f89773..d95c98952c9 100644 --- a/docs/framework/winforms/data-binding-and-windows-forms.md +++ b/docs/framework/winforms/data-binding-and-windows-forms.md @@ -1,38 +1,38 @@ ---- -title: "データ連結と Windows フォーム | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "バインド コントロール, Windows フォーム" - - "データ [Windows フォーム], 複合データ バインド" - - "データ [Windows フォーム], データ バインド" - - "データ [Windows フォーム], 単純データ バインディング" - - "データ バインド, Windows フォーム" - - "データ バインド コントロール, Windows フォーム" - - "ルックアップ テーブル, データ バインド" - - "マスター/詳細リスト" - - "レポート, Windows フォーム" - - "Windows フォーム コントロール, データ バインド" +--- +title: "データ連結と Windows フォーム" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- master-details lists +- data [Windows Forms], data binding +- reports [Windows Forms], Windows Forms +- lookup tables [Windows Forms], data binding +- data [Windows Forms], complex data binding +- data binding [Windows Forms], Windows Forms +- data [Windows Forms], simple data binding +- Windows Forms controls, data binding +- data-bound controls [Windows Forms], Windows Forms ms.assetid: 419aac5e-819b-4aad-88b0-73a2f8c0bd27 -caps.latest.revision: 20 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 20 ---- -# データ連結と Windows フォーム -Windows フォームでは、従来のデータ ソースだけでなく、データを含むほぼすべての構造にバインドできます。 実行時に計算する値、ファイルから読み取る値、または他のコントロールの値から派生する値の配列にバインドできます。 +caps.latest.revision: "20" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: c20753aab569bf90b7db2f062050c7e185d638fb +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# データ連結と Windows フォーム +Windows フォームでは、従来のデータ ソースだけでなく、データを含むほぼすべての構造にバインドできます。 実行時に計算する値、ファイルから読み取る値、または他のコントロールの値から派生する値の配列にバインドできます。 - さらに、任意のコントロールのプロパティをデータ ソースにバインドできます。 従来のデータ バインディングでは、通常は コントロールの プロパティなどの表示プロパティをデータ ソースにバインドします。 [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] を使用すると、バインディングによってその他のプロパティを設定することもできます。 バインディングを使用して、次のタスクを実行できます。 + さらに、任意のコントロールのプロパティをデータ ソースにバインドできます。 従来のデータ バインディングでは、通常は コントロールの プロパティなどの表示プロパティをデータ ソースにバインドします。 [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] を使用すると、バインディングによってその他のプロパティを設定することもできます。 バインディングを使用して、次のタスクを実行できます。 - イメージ コントロールのグラフィックの設定。 @@ -42,29 +42,29 @@ Windows フォームでは、従来のデータ ソースだけでなく、デ 基本的には、データ バインディングは、フォーム上の任意のコントロールの実行時にアクセス可能なプロパティを自動的に設定する方法です。 -## データ バインディングの種類 - Windows フォームでは、単純バインディングと複合バインディングの 2 種類のデータ バインディングを利用できます。 それぞれに異なる利点があります。 +## データ バインディングの種類 + Windows フォームでは、単純バインディングと複合バインディングの 2 種類のデータ バインディングを利用できます。 それぞれに異なる利点があります。 |データ バインディングの種類|説明| -|--------------------|--------| -|単純データ バインディング|データセット テーブル内の列の値など、1 つのデータ要素にバインドするコントロールの機能。 これは、 コントロールや コントロールなどのコントロールで一般的に使用される種類のバインディングです。これらのコントロールでは通常、1 つの値のみが表示されます。 実際には、コントロールのどのプロパティもデータベース内のフィールドにバインドできます。 [!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] に、この機能の広範なサポートがあります。

詳細については、次のトピックを参照してください。

- [データ連結に関連するインターフェイス](../../../docs/framework/winforms/interfaces-related-to-data-binding.md)
- [方法 : Windows フォームでデータ間を移動する](../../../docs/framework/winforms/how-to-navigate-data-in-windows-forms.md)
- [方法 : Windows フォームに単純バインド コントロールを作成する](../../../docs/framework/winforms/how-to-create-a-simple-bound-control-on-a-windows-form.md)| -|複合データ バインディング|複数のデータ要素、一般的にはデータベース内の複数のレコードにバインドするコントロールの機能。 複合バインディングは、リストベース バインディングとも呼ばれます。 複合バインディングをサポートするコントロールの例には、、および の各コントロールがあります。 複合データ バインディングの例については、「[方法 : Windows フォームの ComboBox または ListBox コントロールをデータにバインドする ](../../../docs/framework/winforms/controls/how-to-bind-a-windows-forms-combobox-or-listbox-control-to-data.md)」を参照してください。| +|--------------------------|-----------------| +|単純データ バインディング|データセット テーブル内の列の値など、1 つのデータ要素にバインドするコントロールの機能。 これは、 コントロールや コントロールなどのコントロールで一般的に使用される種類のバインディングです。これらのコントロールでは通常、1 つの値のみが表示されます。 実際には、コントロールのどのプロパティもデータベース内のフィールドにバインドできます。 [!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] に、この機能の広範なサポートがあります。

詳細については次を参照してください:

- [データ バインディングに関連するインターフェイス](../../../docs/framework/winforms/interfaces-related-to-data-binding.md)
- [方法: Windows フォームでデータを移動](../../../docs/framework/winforms/how-to-navigate-data-in-windows-forms.md)
- [方法: Windows フォームに単純バインド コントロールを作成します。](../../../docs/framework/winforms/how-to-create-a-simple-bound-control-on-a-windows-form.md)| +|複合データ バインディング|複数のデータ要素、一般的にはデータベース内の複数のレコードにバインドするコントロールの機能。 複合バインディングは、リストベース バインディングとも呼ばれます。 複合バインディングをサポートするコントロールの例には、、および の各コントロールがあります。 複合データ バインディングの例は、次を参照してください。[する方法: Windows フォームの ComboBox または ListBox コントロールをデータにバインド](../../../docs/framework/winforms/controls/how-to-bind-a-windows-forms-combobox-or-listbox-control-to-data.md)です。| -## BindingSource コンポーネント - データ バインディングを単純化するために、Windows フォームでは、データ ソースを コンポーネントにバインドしてから、コントロールを にバインドできます。 は、単純バインディングまたは複合バインディングのシナリオで使用できます。 いずれの場合も、 はデータ ソースとバインドされたコントロールの間の媒介として機能し、変更通知、通貨管理などのサービスを提供します。 +## BindingSource コンポーネント + データ バインディングを単純化するために、Windows フォームでは、データ ソースを コンポーネントにバインドしてから、コントロールを にバインドできます。 は、単純バインディングまたは複合バインディングのシナリオで使用できます。 いずれの場合も、 はデータ ソースとバインドされたコントロールの間の媒介として機能し、変更通知、通貨管理などのサービスを提供します。 -## データ バインディングを使用する一般的なシナリオ - ほぼすべての商用アプリケーションで、通常はデータ バインディングによってある種類のデータ ソースから別の種類のデータ ソースに読み取られた情報を使用します。 次のリストに、データの表示および操作の方法としてデータ バインディングを使用する最も一般的なシナリオをいくつか示します。 +## データ バインディングを使用する一般的なシナリオ + ほぼすべての商用アプリケーションで、通常はデータ バインディングによってある種類のデータ ソースから別の種類のデータ ソースに読み取られた情報を使用します。 次のリストに、データの表示および操作の方法としてデータ バインディングを使用する最も一般的なシナリオをいくつか示します。 |シナリオ|説明| -|----------|--------| -|レポート|レポートは、印刷された文書でデータを表示および集計する柔軟な方法を提供します。 データ ソースの選択したコンテンツを画面またはプリンターに出力するレポートを作成することは、非常に一般的に行われます。 一般的なレポートには、リスト、請求書、および概要などがあります。 通常、項目はリストの列として並べられ、サブ項目が各リスト項目に分類されますが、データに最も適したレイアウトをユーザーが選択する必要があります。| -|データ エントリ|大量の関連データを入力したり、ユーザーに情報の入力を求めたりする場合は、データ エントリ フォームを使用する方法が一般的です。 ユーザーは、テキスト ボックス、オプション ボタン、ドロップダウン リスト、およびチェック ボックスを使用して、情報を入力したり、オプションを選択したりできます。 情報は送信され、入力された情報に基づく構造を持つデータベースに格納されます。| -|マスター\/詳細リレーションシップ|マスター\/詳細アプリケーションは、関連データを表現するための形式の 1 つです。 具体的には、2 つのデータ テーブルと、それらを結合する関係があります。典型的なビジネスの例では、"顧客" テーブルと "注文" テーブルがあり、それらの間には、顧客とそれに対応する注文を結合する関係があります。 Windows フォームの 2 つの コントロールを持つマスター\/詳細アプリケーションの作成の詳細については、「[方法 : Windows フォームの 2 つの DataGridView コントロールを使用してマスター\/詳細形式のフォームを作成する](../../../docs/framework/winforms/controls/create-a-master-detail-form-using-two-datagrids.md)」を参照してください。| -|ルックアップ テーブル|別の一般的なデータ表示\/操作シナリオに、テーブル ルックアップがあります。 多くの場合、より大きなデータ表示の一部として、 コントロールを使用してデータを表示および操作します。 重要な点は、 コントロールで表示されるデータは、データベースに書き込まれるデータとは異なることです。 たとえば、食料品店から入手できる項目を表示する コントロールがあり、製品の名前 \(パン、牛乳、卵\) を表示するとします。 しかし、データベース内での情報の取得を容易にしたり、データベースを正規化したりするには、ある注文の特定の項目に関する情報を項目番号 \(\#501、\#603 など\) で格納する必要がある場合があります。 そのため、フォームの コントロールにある食料品項目の "わかりやすい名前" と、注文に表示される該当する項目番号との間には暗黙的なつながりがあります。 これがテーブル ルックアップの本質です。 詳細については、「[方法 : Windows フォーム BindingSource コンポーネントを使用してルックアップ テーブルを作成する](../../../docs/framework/winforms/controls/how-to-create-a-lookup-table-with-the-windows-forms-bindingsource-component.md)」を参照してください。| +|--------------|-----------------| +|レポート|レポートは、印刷された文書でデータを表示および集計する柔軟な方法を提供します。 データ ソースの選択したコンテンツを画面またはプリンターに出力するレポートを作成することは、非常に一般的に行われます。 一般的なレポートには、リスト、請求書、および概要などがあります。 通常、項目はリストの列として並べられ、サブ項目が各リスト項目に分類されますが、データに最も適したレイアウトをユーザーが選択する必要があります。| +|データ エントリ|大量の関連データを入力したり、ユーザーに情報の入力を求めたりする場合は、データ エントリ フォームを使用する方法が一般的です。 ユーザーは、テキスト ボックス、オプション ボタン、ドロップダウン リスト、およびチェック ボックスを使用して、情報を入力したり、オプションを選択したりできます。 情報は送信され、入力された情報に基づく構造を持つデータベースに格納されます。| +|マスター/詳細リレーションシップ|マスター/詳細アプリケーションは、関連データを表現するための形式の 1 つです。 具体的には、2 つのデータ テーブルと、それらを結合する関係があります。典型的なビジネスの例では、"顧客" テーブルと "注文" テーブルがあり、それらの間には、顧客とそれに対応する注文を結合する関係があります。 2 つの Windows フォームで、マスター/詳細アプリケーションの作成の詳細についてはコントロールを参照してください[する方法: マスター/詳細形式を使用して 2 つ Windows フォーム DataGridView コントロールの作成](../../../docs/framework/winforms/controls/create-a-master-detail-form-using-two-datagridviews.md)| +|ルックアップ テーブル|別の一般的なデータ表示/操作シナリオに、テーブル ルックアップがあります。 多くの場合、より大きなデータ表示の一部として、 コントロールを使用してデータを表示および操作します。 重要な点は、 コントロールで表示されるデータは、データベースに書き込まれるデータとは異なることです。 たとえば、食料品店から入手できる項目を表示する コントロールがあり、製品の名前 (パン、牛乳、卵) を表示するとします。 しかし、データベース内での情報の取得を容易にしたり、データベースを正規化したりするには、ある注文の特定の項目に関する情報を項目番号 (#501、#603 など) で格納する必要がある場合があります。 そのため、フォームの コントロールにある食料品項目の "わかりやすい名前" と、注文に表示される該当する項目番号との間には暗黙的なつながりがあります。 これがテーブル ルックアップの本質です。 詳細については、次を参照してください。[する方法: Windows フォーム BindingSource コンポーネントのルックアップ テーブルを作成](../../../docs/framework/winforms/controls/how-to-create-a-lookup-table-with-the-windows-forms-bindingsource-component.md)です。| -## 参照 - - [Windows フォームでのデータ バインド](../../../docs/framework/winforms/windows-forms-data-binding.md) - [方法 : データ ソースに Windows フォーム DataGrid コントロールをバインドする](../../../docs/framework/winforms/controls/how-to-bind-the-windows-forms-datagrid-control-to-a-data-source.md) - [BindingSource コンポーネント](../../../docs/framework/winforms/controls/bindingsource-component.md) \ No newline at end of file +## 関連項目 + + [Windows フォームでのデータ バインディング](../../../docs/framework/winforms/windows-forms-data-binding.md) + [方法: データ ソースに Windows フォーム DataGrid コントロールをバインドする](../../../docs/framework/winforms/controls/how-to-bind-the-windows-forms-datagrid-control-to-a-data-source.md) + [BindingSource コンポーネント](../../../docs/framework/winforms/controls/bindingsource-component.md) diff --git a/docs/framework/winforms/events-overview-windows-forms.md b/docs/framework/winforms/events-overview-windows-forms.md index 53abcef86f5..9c64958a3eb 100644 --- a/docs/framework/winforms/events-overview-windows-forms.md +++ b/docs/framework/winforms/events-overview-windows-forms.md @@ -1,57 +1,58 @@ ---- -title: "イベントの概要 (Windows フォーム) | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "デリゲート [Windows フォーム], イベント" - - "デリゲート [Windows フォーム], マルチキャスト" - - "イベント [Windows フォーム], イベントの概要" - - "マルチキャスト イベント デリゲート" - - "Windows フォーム コントロール, イベント" - - "Windows フォーム, イベント処理" +--- +title: "イベントの概要 (Windows フォーム)" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- Windows Forms, event handling +- events [Windows Forms], about events +- delegates [Windows Forms], multicast +- delegates [Windows Forms], events and +- multicast event delegates +- Windows Forms controls, events ms.assetid: 814a6a43-a312-4791-88d8-f75f9a4f8c4c -caps.latest.revision: 12 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 12 ---- -# イベントの概要 (Windows フォーム) -イベントとは、プログラマが応答できる、つまり、コードを使って "処理" できるアクションのことです。 イベントは、マウスのクリックやキーを押すなどのユーザー アクション、プログラム コードまたはシステムによって生成されます。 - - イベント ドリブン アプリケーションでは、イベントに応答してコードが実行されます。 各フォームおよびコントロールは、定義済みのイベント セットを公開しており、プログラマはそれらに対応するプログラムを作成できます。 これらのイベントの 1 つが発生したときに、関連するイベント ハンドラーにコードがある場合は、そのコードが呼び出されます。 - - オブジェクトが発生させるイベントにはさまざまな種類がありますが、その多くがほとんどのコントロールで共通です。 たとえば、 イベントは、ほとんどのオブジェクトで処理されます。 ユーザーがフォームをクリックすると、フォームの イベント ハンドラー内のコードが実行されます。 +caps.latest.revision: "12" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 4989a13ef16445bc19b3dc3c6d265d943a464c62 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# イベントの概要 (Windows フォーム) +イベントとは、プログラマが応答できる、つまり、コードを使って "処理" できるアクションのことです。 イベントは、マウスのクリックやキーを押すなどのユーザー アクション、プログラム コードまたはシステムによって生成されます。 + + イベント ドリブン アプリケーションでは、イベントに応答してコードが実行されます。 各フォームおよびコントロールは、定義済みのイベント セットを公開しており、プログラマはそれらに対応するプログラムを作成できます。 これらのイベントの 1 つが発生したときに、関連するイベント ハンドラーにコードがある場合は、そのコードが呼び出されます。 + + オブジェクトが発生させるイベントにはさまざまな種類がありますが、その多くがほとんどのコントロールで共通です。 たとえば、 イベントは、ほとんどのオブジェクトで処理されます。 ユーザーがフォームをクリックすると、フォームの イベント ハンドラー内のコードが実行されます。 > [!NOTE] -> イベントの多くは、他のイベントと共に発生します。 たとえば、 イベントが発生する場合は、、および の各イベントが発生します。 +> イベントの多くは、他のイベントと共に発生します。 たとえば、 イベントが発生する場合は、、および の各イベントが発生します。 - イベントを発生させて処理する方法については、「[イベント](../../../docs/standard/events/index.md)」を参照してください。 + させてイベントを処理する方法については、次を参照してください。[イベント](../../../docs/standard/events/index.md)です。 -## デリゲートとその役割 - デリゲートは、主にイベント処理機構をビルドするために、[!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] 内で使用されるクラスです。 デリゲートは、[!INCLUDE[vcprvc](../../../includes/vcprvc-md.md)] やその他のオブジェクト指向言語で一般的に使用される関数ポインターに似ています。 ただし、関数ポインターとは異なり、デリゲートはオブジェクト指向で、タイプ セーフで、安全です。 また、関数ポインターには特定の関数への参照だけが含まれていますが、デリゲートはオブジェクトへの参照、およびそのオブジェクト内の 1 つ以上のメソッドへの参照で構成されています。 +## デリゲートとその役割 + デリゲートは、主にイベント処理機構をビルドするために、[!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] 内で使用されるクラスです。 デリゲートは、[!INCLUDE[vcprvc](../../../includes/vcprvc-md.md)] やその他のオブジェクト指向言語で一般的に使用される関数ポインターに似ています。 ただし、関数ポインターとは異なり、デリゲートはオブジェクト指向で、タイプ セーフで、安全です。 また、関数ポインターには特定の関数への参照だけが含まれていますが、デリゲートはオブジェクトへの参照、およびそのオブジェクト内の 1 つ以上のメソッドへの参照で構成されています。 - このイベント モデルでは、*デリゲート*を使用してイベント処理に使用するメソッドにイベントを関連付けます。 デリゲートを使用すると、ハンドラーのメソッドを指定することにより、イベント通知のための他のクラスを登録できます。 イベントが発生すると、デリゲートは関連付けられたメソッドを呼び出します。 デリゲートを定義する方法の詳細については、「[イベント](../../../docs/standard/events/index.md)」を参照してください。 + このイベント モデルを使用して*デリゲート*それらの処理に使用されるメソッドにイベントをバインドします。 デリゲートを使用すると、ハンドラーのメソッドを指定することにより、イベント通知のための他のクラスを登録できます。 イベントが発生すると、デリゲートは関連付けられたメソッドを呼び出します。 デリゲートを定義する方法の詳細については、次を参照してください。[イベント](../../../docs/standard/events/index.md)です。 - デリゲートは、単一のメソッドまたは複数のメソッドに関連付けることができます。後者は、マルチキャストと呼ばれます。 イベントのデリゲートを作成する場合は、通常、ユーザー \(Windows フォーム デザイナー\) がマルチキャスト イベントを作成します。 例外は、1 回のイベントで複数回実行されることが論理的にあり得ないような特定のプロシージャ \(ダイアログ ボックスの表示など\) を呼び出すイベントです。 マルチキャスト デリゲートを作成する方法については、「[方法 : デリゲートを結合する \(マルチキャスト デリゲート\)](../Topic/How%20to:%20Combine%20Delegates%20\(Multicast%20Delegates\)\(C%23%20Programming%20Guide\).md)」を参照してください。 + デリゲートは、単一のメソッドまたは複数のメソッドに関連付けることができます。後者は、マルチキャストと呼ばれます。 イベントのデリゲートを作成する場合は、通常、ユーザー (Windows フォーム デザイナー) がマルチキャスト イベントを作成します。 例外は、1 回のイベントで複数回実行されることが論理的にあり得ないような特定のプロシージャ (ダイアログ ボックスの表示など) を呼び出すイベントです。 マルチキャスト デリゲートを作成する方法については、次を参照してください。[する方法: デリゲートを結合する (マルチキャスト デリゲート)](~/docs/csharp/programming-guide/delegates/how-to-combine-delegates-multicast-delegates.md)です。 - マルチキャスト デリゲートは、関連付けられたメソッドの呼び出しリストを保持します。 マルチキャスト デリゲートでは、呼び出しリストにメソッドを追加する メソッド、およびリストからメソッドを削除する メソッドがサポートされています。 + マルチキャスト デリゲートは、関連付けられたメソッドの呼び出しリストを保持します。 マルチキャスト デリゲートでは、呼び出しリストにメソッドを追加する メソッド、およびリストからメソッドを削除する メソッドがサポートされています。 - アプリケーションによってイベントが記録されると、コントロールは、そのイベント用のデリゲートを呼び出すことによってイベントを発生させます。 次に、デリゲートによって、関連付けられたメソッドが呼び出されます。 ほとんどの場合、デリゲート \(通常はマルチキャスト デリゲート\) では、呼び出しリストにある関連付けされた各メソッドが順番に呼び出されるため、一対多通知を実行できます。 この方法では、すべての登録と通知がデリゲートによって処理されるため、コントロールでは、イベント通知の対象となるオブジェクトのリストを保持する必要がありません。 + アプリケーションによってイベントが記録されると、コントロールは、そのイベント用のデリゲートを呼び出すことによってイベントを発生させます。 次に、デリゲートによって、関連付けられたメソッドが呼び出されます。 ほとんどの場合、デリゲート (通常はマルチキャスト デリゲート) では、呼び出しリストにある関連付けされた各メソッドが順番に呼び出されるため、一対多通知を実行できます。 この方法では、すべての登録と通知がデリゲートによって処理されるため、コントロールでは、イベント通知の対象となるオブジェクトのリストを保持する必要がありません。 - デリゲートでは、複数のイベントを同じメソッドに関連付けし、多対一通知を実行することもできます。 たとえば、ボタンとメニューコマンドのクリック イベントで、同じデリゲートを呼び出すことができます。呼び出されたデリゲートによって単一のメソッドが呼び出されるので、どちらのイベントも同じように処理されます。 + デリゲートでは、複数のイベントを同じメソッドに関連付けし、多対一通知を実行することもできます。 たとえば、ボタンとメニューコマンドのクリック イベントで、同じデリゲートを呼び出すことができます。呼び出されたデリゲートによって単一のメソッドが呼び出されるので、どちらのイベントも同じように処理されます。 - デリゲートと共に使用される関連付けの機構は動的です。デリゲートは、シグネチャがイベント ハンドラのシグネチャと一致する任意のメソッドに実行時に関連付けできます。 この機能によって、状況に応じて関連付けるメソッドを設定または変更したり、イベント ハンドラをコントロールに動的に関連付けることができます。 + デリゲートと共に使用される関連付けの機構は動的です。デリゲートは、シグネチャがイベント ハンドラのシグネチャと一致する任意のメソッドに実行時に関連付けできます。 この機能によって、状況に応じて関連付けるメソッドを設定または変更したり、イベント ハンドラをコントロールに動的に関連付けることができます。 -## 参照 - [Windows フォーム内でのイベント ハンドラーの作成](../../../docs/framework/winforms/creating-event-handlers-in-windows-forms.md) - [イベント ハンドラーの概要](../../../docs/framework/winforms/event-handlers-overview-windows-forms.md) \ No newline at end of file +## 関連項目 + [Windows フォーム内でのイベント ハンドラーの作成](../../../docs/framework/winforms/creating-event-handlers-in-windows-forms.md) + [イベント ハンドラーの概要](../../../docs/framework/winforms/event-handlers-overview-windows-forms.md) diff --git a/docs/framework/winforms/mouse-pointers-in-windows-forms.md b/docs/framework/winforms/mouse-pointers-in-windows-forms.md index 740ec67268b..a8085409e3c 100644 --- a/docs/framework/winforms/mouse-pointers-in-windows-forms.md +++ b/docs/framework/winforms/mouse-pointers-in-windows-forms.md @@ -1,45 +1,46 @@ ---- -title: "Windows フォームにおけるマウス ポインター | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "カーソル, 設定 [Windows フォーム]" - - "マウス カーソル" - - "マウス ポインター" - - "マウス ポインター, 設定 [Windows フォーム]" - - "マウス, カーソル" - - "ポインター, 設定 [Windows フォーム]" +--- +title: "Windows フォームにおけるマウス ポインター" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- pointers [Windows Forms], setting +- mouse pointers +- mouse cursors +- mouse pointers [Windows Forms], setting +- cursors [Windows Forms], setting +- mouse [Windows Forms], cursors ms.assetid: c3400d85-de5b-42e8-abc3-d6088d69ee53 -caps.latest.revision: 12 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 12 ---- -# Windows フォームにおけるマウス ポインター -カーソルとも呼ばれるマウス *ポインター*は、マウスでユーザー入力できるように画面上のフォーカス ポイントを指定するビットマップです。 ここでは、Windows フォームにおけるマウス ポインターについて概説し、マウス ポインターを変更および制御する方法をいくつか示します。 +caps.latest.revision: "12" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 4fb0e193ccbced719f30ede91cb59cd51dd349a9 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# Windows フォームにおけるマウス ポインター +マウス*ポインター*マウスを使用してユーザー入力を画面のフォーカス ポイントを指定するビットマップは、そのカーソルと呼ばします。 このトピックでは、Windows フォームにおけるマウス ポインターの概要を説明し、変更およびマウス ポインターを制御する方法をいくつかについて説明します。 -## マウス ポインターへのアクセス - マウス ポインターは クラスで表され、各 にはそのコントロールのポインターを指定する プロパティがあります。 クラスには、ポインターを記述するプロパティ \( プロパティや プロパティなど\) およびポインターの外観を変更できるメソッド \( メソッド、 メソッド、および メソッドなど\) が含まれます。 +## マウス ポインターへのアクセス + マウス ポインターがによって表される、クラス、および各が、そのコントロールのポインターを指定するプロパティです。 クラスにはなど、ポインターを記述するプロパティが含まれています、プロパティ、およびメソッドなど、ポインターの外観を変更できる、 、およびメソッド。 -## マウス ポインターの制御 - マウス ポインターの使用領域の制限やマウスの位置の変更が必要になることがあります。 プロパティを使用すると、マウスの現在位置を取得または設定できます。 また、 プロパティを設定することにより、マウス ポインターの使用領域を制限することもできます。 既定では、クリップ領域は画面全体です。 +## マウス ポインターを制御します。 + マウス ポインターが使用できるまたはマウスの位置を変更する領域を制限する場合があります。 取得またはマウスを使用して、現在の場所を設定することができます、のプロパティ、です。 マウス ポインターを使用できる領域を制限するさらに、設定は、プロパティです。 クリップ領域で、既定では、画面全体です。 -## マウス ポインターの変更 - マウス ポインターの変更は、ユーザーにフィードバックを提供するための重要な手段です。 たとえば、 イベントおよび イベントのハンドラー内でマウス ポインターを変更することにより、計算を実行中であることをユーザーに通知し、コントロールでのユーザー操作を制限できます。 アプリケーションに対してドラッグ アンド ドロップ操作が行われた場合など、システム イベントによってマウス ポインターが変更されることもあります。 +## マウス ポインターを変更します。 + マウス ポインターを変更するは、ユーザーにフィードバックを提供することの重要な方法です。 ハンドラーでマウス ポインターを変更するなど、計算が行われていることをユーザーに伝えるためと、コントロール内のユーザーの操作を制限するイベントです。 場合によっては、マウス ポインターがドラッグ アンド ドロップ操作で、アプリケーションが関係している場合など、システム イベントによって変更されます。 - マウス ポインターを変更するための主な方法は、コントロールの プロパティまたは プロパティを新しい に設定することです。 マウス ポインターの変更例については、 クラスのコード例を参照してください。 また、 クラスでは、手の形をしたポインターなど、さまざまな種類のポインターを表す オブジェクトのセットが公開されています。 マウス ポインターがコントロール上にあるときに砂時計の形をした待機ポインターを表示するには、 クラスの プロパティを使用します。 + マウス ポインターを変更する主な方法は、設定して、またはを新しいコントロールのプロパティのします。 マウス ポインターを変更する例のコード例を参照してください、クラスです。 さらに、クラスのセットを公開するポインター、手の形のようなポインターなどのさまざまな種類のオブジェクト。 砂時計が、コントロールにマウス ポインターがあるたびに似ていますが、待機のポインターを表示するには、のプロパティ、クラスです。 -## 参照 - - [Windows フォーム アプリケーションにおけるマウス入力](../../../docs/framework/winforms/mouse-input-in-a-windows-forms-application.md) - [Windows フォームにおけるドラッグ アンド ドロップ機能](../../../docs/framework/winforms/drag-and-drop-functionality-in-windows-forms.md) \ No newline at end of file +## 関連項目 + + [Windows フォーム アプリケーションにおけるマウス入力](../../../docs/framework/winforms/mouse-input-in-a-windows-forms-application.md) + [Windows フォームにおけるドラッグ アンド ドロップ機能](../../../docs/framework/winforms/drag-and-drop-functionality-in-windows-forms.md) diff --git a/docs/framework/winforms/security-in-windows-forms-overview.md b/docs/framework/winforms/security-in-windows-forms-overview.md index d05c9aab464..d9dffe3abe6 100644 --- a/docs/framework/winforms/security-in-windows-forms-overview.md +++ b/docs/framework/winforms/security-in-windows-forms-overview.md @@ -1,98 +1,101 @@ ---- -title: "Windows フォームのセキュリティの概要 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-winforms" -ms.tgt_pltfrm: "" -ms.topic: "article" -dev_langs: - - "jsharp" -helpviewer_keywords: - - "アクセス制御, Windows フォーム" - - "コード アクセス セキュリティ, Windows フォーム" - - "アクセス許可, Windows フォーム" - - "セキュリティ [Windows フォーム], セキュリティの概要" - - "Windows フォーム, セキュリティ" +--- +title: "Windows フォームのセキュリティの概要" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-winforms +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- code access security [Windows Forms], Windows Forms +- permissions [Windows Forms], Windows Forms +- Windows Forms, security +- security [Windows Forms], about security +- access control [Windows Forms], Windows Forms ms.assetid: 4810dc9f-ea23-4ce1-8ea1-657f0ff1d820 -caps.latest.revision: 16 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 16 ---- -# Windows フォームのセキュリティの概要 -[!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] のリリース以前、ユーザーのコンピューターで実行されているすべてのコードは、リソースにアクセスするために、そのコンピューターのユーザーが持っていたのと同じ権限またはアクセス許可を持っていました。 たとえば、ユーザーにファイル システムへのアクセスが許可されている場合は、コードにファイル システムへのアクセスが許可され、ユーザーにデータベースへのアクセスが許可されている場合は、コードにデータベースへのアクセスが許可されていました。 これらの権限やアクセス許可は、ユーザーがローカル コンピューターに明示的にインストールした実行可能ファイルのコードに対しては受け入れることができますが、インターネットやローカル イントラネットからの悪意のある可能性があるコードに対しては受け入れることができません。 このコードは、アクセス許可がないユーザーのコンピューター リソースにアクセスすべきではありません。 +caps.latest.revision: "16" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: e34e9dc864ffa3960c7c4f60f84b4996bab0bb28 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# Windows フォームのセキュリティの概要 +[!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] のリリース以前、ユーザーのコンピューターで実行されているすべてのコードは、リソースにアクセスするために、そのコンピューターのユーザーが持っていたのと同じ権限またはアクセス許可を持っていました。 たとえば、ユーザーにファイル システムへのアクセスが許可されている場合は、コードにファイル システムへのアクセスが許可され、ユーザーにデータベースへのアクセスが許可されている場合は、コードにデータベースへのアクセスが許可されていました。 これらの権限やアクセス許可は、ユーザーがローカル コンピューターに明示的にインストールした実行可能ファイルのコードに対しては受け入れることができますが、インターネットやローカル イントラネットからの悪意のある可能性があるコードに対しては受け入れることができません。 このコードは、アクセス許可がないユーザーのコンピューター リソースにアクセスすべきではありません。 - [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] は、アクセス許可または権限について、コードが持つものとユーザーが持つものを区別できる、コード アクセス セキュリティと呼ばれるインフラストラクチャを導入しています。 既定では、インターネットとイントラネットからのコードは、部分信頼と呼ばれるものでのみ実行できます。 部分信頼では、アプリケーションに一連の制限が適用されます。特に、アプリケーションはローカルのハード ディスクへのアクセスが制限され、アンマネージ コードを実行することができません。 [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] は、送信元、[厳密な名前付きアセンブリ](../../../docs/framework/app-domains/strong-named-assemblies.md)を持っているかどうか、証明書で署名されているかどうかなど、そのコードの身元に基づいて、コードのアクセスが許可されるリソースを制御します。 + [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] は、アクセス許可または権限について、コードが持つものとユーザーが持つものを区別できる、コード アクセス セキュリティと呼ばれるインフラストラクチャを導入しています。 既定では、インターネットとイントラネットからのコードは、部分信頼と呼ばれるものでのみ実行できます。 部分信頼では、アプリケーションに一連の制限が適用されます。特に、アプリケーションはローカルのハード ディスクへのアクセスが制限され、アンマネージ コードを実行することができません。 [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] は、送信元、[厳密な名前付きアセンブリ](../../../docs/framework/app-domains/strong-named-assemblies.md)があるかどうか、証明書で署名されているかどうかなど、そのコードの ID に基づいて、コードにアクセスを許可するリソースを制御します。 - [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] テクノロジは、Windows フォーム アプリケーションの配置に使用しますが、部分信頼で実行するアプリケーションを、完全信頼や、昇格されたアクセス許可を持つ部分信頼で簡単に開発できるようにします。 [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] は、アクセス許可の昇格や、信頼されたアプリケーション配置などの機能を提供し、アプリケーションが完全信頼やアクセス許可の昇格をローカル ユーザーから実行可能な方法で要求できます。 + [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] テクノロジは、Windows フォーム アプリケーションの配置に使用しますが、部分信頼で実行するアプリケーションを、完全信頼や、昇格されたアクセス許可を持つ部分信頼で簡単に開発できるようにします。 [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] は、アクセス許可の昇格や、信頼されたアプリケーション配置などの機能を提供し、アプリケーションが完全信頼やアクセス許可の昇格をローカル ユーザーから実行可能な方法で要求できます。 -## .NET Framework のセキュリティについて - コード アクセス セキュリティにより、コードの発生元や、そのコードの身元を示すその他の基準に基づいて、コードをさまざまなレベルで信頼できます。 共通言語ランタイムがセキュリティ ポリシーを決定するために使用する証拠の詳細については、「[証拠](http://msdn.microsoft.com/ja-jp/64ceb7c8-a0b4-46c4-97dc-6c22da0539da)」を参照してください。 悪意のあるコードからコンピューター システムを保護できるだけでなく、セキュリティの意図的または偶然の侵害から信頼されているコードを保護できます。 また、コード アクセス セキュリティは、アプリケーションが実行できるアクションに対して詳細に制御できます。これは、アプリケーションが持っている必要があるアクセス許可のみを指定できるためです。 コード アクセス セキュリティは、コードが単一のコード アクセス セキュリティのアクセス許可のチェックをしない場合でも、共通言語ランタイムを対象とするすべてのマネージ コードに影響を与えます。 [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] のセキュリティの詳細については、「[セキュリティの基本概念](../../../docs/standard/security/key-security-concepts.md)」と「[コード アクセス セキュリティの基礎](../../../docs/framework/misc/code-access-security-basics.md)」を参照してください。 +## .NET Framework のセキュリティについて + コード アクセス セキュリティにより、コードの発生元や、そのコードの身元を示すその他の基準に基づいて、コードをさまざまなレベルで信頼できます。 共通言語ランタイムがセキュリティ ポリシーを決定するために使用する証拠の詳細については、「[証拠](http://msdn.microsoft.com/en-us/64ceb7c8-a0b4-46c4-97dc-6c22da0539da)」を参照してください。 悪意のあるコードからコンピューター システムを保護できるだけでなく、セキュリティの意図的または偶然の侵害から信頼されているコードを保護できます。 また、コード アクセス セキュリティは、アプリケーションが実行できるアクションに対して詳細に制御できます。これは、アプリケーションが持っている必要があるアクセス許可のみを指定できるためです。 コード アクセス セキュリティは、コードが単一のコード アクセス セキュリティのアクセス許可のチェックをしない場合でも、共通言語ランタイムを対象とするすべてのマネージ コードに影響を与えます。 [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] のセキュリティの詳細については、「[セキュリティの基本概念](../../../docs/standard/security/key-security-concepts.md)」および「[コード アクセス セキュリティの基礎](../../../docs/framework/misc/code-access-security-basics.md)」を参照してください。 - ユーザーが Windows フォームの実行可能ファイルを Web サーバーまたはファイル共有から直接実行する場合、アプリケーションに付与される信頼の度合いは、コードが存在する場所や開始方法によって異なります。 アプリケーションを実行すると、自動的に評価され、共通言語ランタイムから、名前付き権限セットを受け取ります。 既定では、ローカル コンピューターからのコードに完全信頼のアクセス許可セットが付与され、ローカル ネットワークからのコードには、ローカル イントラネットのアクセス許可セットが付与され、インターネットからのコードには、インターネットのアクセス許可セットが付与されます。 + ユーザーが Windows フォームの実行可能ファイルを Web サーバーまたはファイル共有から直接実行する場合、アプリケーションに付与される信頼の度合いは、コードが存在する場所や開始方法によって異なります。 アプリケーションを実行すると、自動的に評価され、共通言語ランタイムから、名前付き権限セットを受け取ります。 既定では、ローカル コンピューターからのコードに完全信頼のアクセス許可セットが付与され、ローカル ネットワークからのコードには、ローカル イントラネットのアクセス許可セットが付与され、インターネットからのコードには、インターネットのアクセス許可セットが付与されます。 > [!NOTE] -> [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] バージョン 1.0 Service Pack 1 と Service Pack 2 では、インターネット ゾーンのコード グループが何もしないアクセス許可セットを受け取ります。 その他のすべてのリリースの [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] では、インターネット ゾーンのコード グループは、インターネットのアクセス許可セットを受け取ります。 +> [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] バージョン 1.0 Service Pack 1 と Service Pack 2 では、インターネット ゾーンのコード グループが何もしないアクセス許可セットを受け取ります。 その他のすべてのリリースの [!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] では、インターネット ゾーンのコード グループは、インターネットのアクセス許可セットを受け取ります。 > -> これらのアクセス許可セットのそれぞれに付与されている既定のアクセス許可の一覧は、「[既定のセキュリティ ポリシー](http://msdn.microsoft.com/ja-jp/2c086873-0894-4f4d-8f7e-47427c1a3b55)」のトピックにあります。 アプリケーションが受け取るアクセス許可に応じて、正常に実行されるか、またはセキュリティ例外が生成されます。 +> これらの各アクセス許可セットで付与される既定のアクセス許可の一覧については、「[既定のセキュリティ ポリシー](http://msdn.microsoft.com/en-us/2c086873-0894-4f4d-8f7e-47427c1a3b55)」を参照してください。 アプリケーションが受け取るアクセス許可に応じて、正常に実行されるか、またはセキュリティ例外が生成されます。 > -> [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] を使用して、多数の Windows フォーム アプリケーションが配置されます。 [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] の配置を生成するために使用されるツールは、これまでの説明とは異なる既定のセキュリティを持っています。 詳細については、次の説明を参照してください。 +> [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] を使用して、多数の Windows フォーム アプリケーションが配置されます。 [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] の配置の生成に使用されるツールには、これまでの説明とは異なるセキュリティの既定値があります。 詳細については、次の説明を参照してください。 アプリケーションに付与される実際のアクセス許可は、セキュリティ ポリシーが変更される可能性があるため、既定値とは異なる可能性があります。つまり、アプリケーションが、あるコンピューターではアクセス許可を持ち、別のコンピューターでは持たない可能性があることを意味します。 -## より安全な Windows フォーム アプリケーションの開発 - セキュリティは、アプリケーション開発のすべての手順で重要です。 まず「[安全なコーディングのガイドライン](../../../docs/standard/security/secure-coding-guidelines.md)」を確認して従います。 +## より安全な Windows フォーム アプリケーションの開発 + セキュリティは、アプリケーション開発のすべての手順で重要です。 まず、「[安全なコーディングのガイドライン](../../../docs/standard/security/secure-coding-guidelines.md)」を確認し、このガイドラインに従います。 - 次に、アプリケーションを完全信頼で実行する必要があるのか、または部分信頼で実行する必要があるのかを決定します。 完全信頼でアプリケーションを実行することで、ローカル コンピューター上のリソースへのアクセスが簡単になりますが、「安全なコーディングのガイドライン」のトピックに厳密に従ってアプリケーションを設計および開発しない場合、ユーザーとアプリケーションを高いセキュリティ リスクに晒すことになります。 部分信頼でアプリケーションを実行すると、より安全なアプリケーションをより簡単に開発でき、リスクを大幅に軽減しますが、特定の機能の実装方法について、より詳細な計画が必要になります。 + 次に、アプリケーションを完全信頼で実行する必要があるのか、または部分信頼で実行する必要があるのかを決定します。 完全信頼でアプリケーションを実行することで、ローカル コンピューター上のリソースへのアクセスが簡単になりますが、「安全なコーディングのガイドライン」のトピックに厳密に従ってアプリケーションを設計および開発しない場合、ユーザーとアプリケーションを高いセキュリティ リスクに晒すことになります。 部分信頼でアプリケーションを実行すると、より安全なアプリケーションをより簡単に開発でき、リスクを大幅に軽減しますが、特定の機能の実装方法について、より詳細な計画が必要になります。 - 部分信頼 \(つまり、インターネットまたはローカル イントラネットのアクセス許可セットのいずれか\) を選択する場合は、アプリケーションがこの環境で動作する方法を決定します。 Windows フォームでは、信頼度の低い環境で、より安全に機能を実装する代わりの方法を提供します。 データ アクセスなど、アプリケーションの特定の部分が、部分信頼および完全信頼の両方の環境で異なる設計と作成がなされる場合があります。 アプリケーション設定など、一部の Windows フォームの機能は、部分信頼で動作するよう設計されています。 詳細については、「[アプリケーション設定の概要](../../../docs/framework/winforms/advanced/application-settings-overview.md)」を参照してください。 + 部分信頼 (つまり、インターネットまたはローカル イントラネットのアクセス許可セットのいずれか) を選択する場合は、アプリケーションがこの環境で動作する方法を決定します。 Windows フォームでは、信頼度の低い環境で、より安全に機能を実装する代わりの方法を提供します。 データ アクセスなど、アプリケーションの特定の部分が、部分信頼および完全信頼の両方の環境で異なる設計と作成がなされる場合があります。 アプリケーション設定など、一部の Windows フォームの機能は、部分信頼で動作するよう設計されています。 詳細については、「[アプリケーション設定の概要](../../../docs/framework/winforms/advanced/application-settings-overview.md)」を参照してください。 - アプリケーションが部分信頼で許可するより多くのアクセス許可を必要とするが、完全信頼モードで実行したくない場合は、部分信頼で実行しながら、必要な追加のアクセス許可のみをアサートすることができます。 たとえば、部分信頼で実行するが、ユーザーのファイル システム上のディレクトリに、アプリケーションの読み取り専用のアクセス許可を付与する必要がある場合、そのディレクトリのみに対して を要求することができます。 適切に使用すると、このアプローチによってアプリケーションの機能が増加し、ユーザーのセキュリティ上のリスクを最小限に抑えることができます。 + アプリケーションが部分信頼で許可するより多くのアクセス許可を必要とするが、完全信頼モードで実行したくない場合は、部分信頼で実行しながら、必要な追加のアクセス許可のみをアサートすることができます。 たとえば、部分信頼で実行するが、ユーザーのファイル システム上のディレクトリに、アプリケーションの読み取り専用のアクセス許可を付与する必要がある場合、そのディレクトリのみに対して を要求することができます。 適切に使用すると、このアプローチによってアプリケーションの機能が増加し、ユーザーのセキュリティ上のリスクを最小限に抑えることができます。 - 部分信頼で実行されるアプリケーションを開発するときに、アプリケーションが実行する必要があるアクセス許可と、アプリケーションがオプションで使用できるアクセス許可を管理してください。 すべてのアクセス許可がわかっている場合、アプリケーション レベルでアクセス許可について宣言型の要求をする必要があります。 アクセス許可を要求すると、アプリケーションが必要とするアクセス許可、および特に必要ないアクセス許可について、[!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] のランタイムに通知します。 アクセス許可の要求の詳細については、「[アクセス許可の要求](http://msdn.microsoft.com/ja-jp/0447c49d-8cba-45e4-862c-ff0b59bebdc2)」を参照してください。 + 部分信頼で実行されるアプリケーションを開発するときに、アプリケーションが実行する必要があるアクセス許可と、アプリケーションがオプションで使用できるアクセス許可を管理してください。 すべてのアクセス許可がわかっている場合、アプリケーション レベルでアクセス許可について宣言型の要求をする必要があります。 アクセス許可を要求すると、アプリケーションが必要とするアクセス許可、および特に必要ないアクセス許可について、[!INCLUDE[dnprdnshort](../../../includes/dnprdnshort-md.md)] のランタイムに通知します。 アクセス許可の要求の詳細については、「[アクセス許可の要求](http://msdn.microsoft.com/en-us/0447c49d-8cba-45e4-862c-ff0b59bebdc2)」を参照してください。 - オプションのアクセス許可を要求するときに、アプリケーションに付与されていないアクセス許可が必要なアクションを実行する場合に生成されるセキュリティ例外を処理する必要があります。 を適切に処理することで、アプリケーションを続行できます。 アプリケーションは例外を使用して、ユーザーに対して機能を無効にする必要があるかどうかを判断できます。 たとえば、必要なファイルのアクセス許可が付与されていない場合、アプリケーションが **\[保存\]** メニュー オプションを無効にすることができます。 + オプションのアクセス許可を要求するときに、アプリケーションに付与されていないアクセス許可が必要なアクションを実行する場合に生成されるセキュリティ例外を処理する必要があります。 を適切に処理することで、アプリケーションを続行できます。 アプリケーションは例外を使用して、ユーザーに対して機能を無効にする必要があるかどうかを判断できます。 たとえば、必要なファイル アクセス許可が付与されていない場合、アプリケーションは **[保存]** メニュー オプションを無効にすることができます。 - 場合によっては、すべての適切なアクセス許可をアサートしたかどうかを確認することが難しい場合があります。 たとえば、表面的には影響のないように見えるメソッドの呼び出しが、実行中のある時点でファイル システムにアクセスすることがあります。 必要なアクセス許可をすべて使用してアプリケーションを配置しない場合は、デスクトップでデバッグしている間は問題なくテストでき、配置のときに失敗する可能性があります。 [!INCLUDE[dnprdnlong](../../../includes/dnprdnlong-md.md)] SDK と [!INCLUDE[vsprvslong](../../../includes/vsprvslong-md.md)] の両方に、それぞれ MT.exe のコマンド ライン ツールと、[!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] のアクセス許可の検出機能という、アプリケーションに必要なアクセス許可を検出するためのツールが含まれています。 + 場合によっては、すべての適切なアクセス許可をアサートしたかどうかを確認することが難しい場合があります。 たとえば、表面的には影響のないように見えるメソッドの呼び出しが、実行中のある時点でファイル システムにアクセスすることがあります。 必要なアクセス許可をすべて使用してアプリケーションを配置しない場合は、デスクトップでデバッグしている間は問題なくテストでき、配置のときに失敗する可能性があります。 [!INCLUDE[dnprdnlong](../../../includes/dnprdnlong-md.md)] SDK と [!INCLUDE[vsprvslong](../../../includes/vsprvslong-md.md)] の両方に、それぞれ MT.exe のコマンド ライン ツールと、[!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] のアクセス許可の検出機能という、アプリケーションに必要なアクセス許可を検出するためのツールが含まれています。 次のトピックでは、Windows フォームの追加のセキュリティ機能について説明します。 |トピック|説明| -|----------|--------| +|-----------|-----------------| |- [Windows フォームにおけるファイルおよびデータへのより安全なアクセス](../../../docs/framework/winforms/more-secure-file-and-data-access-in-windows-forms.md)|部分信頼環境でファイルとデータにアクセスする方法について説明します。| |- [Windows フォームでのより安全な印刷](../../../docs/framework/winforms/more-secure-printing-in-windows-forms.md)|部分信頼環境で印刷機能にアクセスする方法について説明します。| |- [Windows フォームのセキュリティに関するその他の考慮事項](../../../docs/framework/winforms/additional-security-considerations-in-windows-forms.md)|部分信頼環境でのウィンドウ操作の実行、クリップボードの使用、およびアンマネージ コードへの呼び出しについて説明します。| -### 適切なアクセス許可を持つアプリケーションの配置 - クライアント コンピューターに Windows フォーム アプリケーションを配置する最も一般的な方法は、アプリケーションが実行する必要があるすべてのコンポーネントを記述する配置テクノロジの [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] を使用することです。 [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] は、マニフェストと呼ばれる XML ファイルを使用して、アプリケーションを構成するアセンブリとファイル、およびアプリケーションに必要なアクセス許可を記述します。 +- - [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] は、クライアント コンピューターでアクセス許可の昇格を要求するための 2 つのテクノロジを持っています。 どちらのテクノロジも、Authenticode 証明書の使用に依存します。 証明書は、アプリケーションが信頼できる発行元からのものであることをユーザーにある程度保証するのに役立ちます。 +### 適切なアクセス許可を持つアプリケーションの配置 + クライアント コンピューターに Windows フォーム アプリケーションを配置する最も一般的な方法は、アプリケーションが実行する必要があるすべてのコンポーネントを記述する配置テクノロジの [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] を使用することです。 [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] は、マニフェストと呼ばれる XML ファイルを使用して、アプリケーションを構成するアセンブリとファイル、およびアプリケーションに必要なアクセス許可を記述します。 + + [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] は、クライアント コンピューターでアクセス許可の昇格を要求するための 2 つのテクノロジを持っています。 どちらのテクノロジも、Authenticode 証明書の使用に依存します。 証明書は、アプリケーションが信頼できる発行元からのものであることをユーザーにある程度保証するのに役立ちます。 次の表では、それらのテクノロジについて説明します。 |昇格されたアクセス許可のテクノロジ|説明| -|-----------------------|--------| -|アクセス許可の昇格|アプリケーションを最初に実行するときにセキュリティ ダイアログ ボックスをユーザーに表示します。 **\[アクセス許可の昇格\]** ダイアログ ボックスは、アプリケーションをだれが公開したのかについてユーザーに通知するので、ユーザーが追加の信頼を付与するかどうかについて、十分な情報を検討したうえで決定できます。| -|信頼されたアプリケーションの配置|システム管理者がクライアント コンピューターで、発行元の Authenticode 証明書のインストールを 1 回実行する必要があります。 その時点から、その証明書で署名されたアプリケーションは信頼済みとみなされ、追加メッセージを表示せずに、ローカル コンピューター上で完全信頼で実行できます。| +|------------------------------------|-----------------| +|アクセス許可の昇格|アプリケーションを最初に実行するときにセキュリティ ダイアログ ボックスをユーザーに表示します。 **[アクセス許可の昇格]** ダイアログ ボックスは、アプリケーションの発行者についてユーザーに通知するので、ユーザーは十分な情報に基づいて追加の信頼を付与するかどうかを決定できます。| +|信頼されたアプリケーションの配置|システム管理者がクライアント コンピューターで、発行元の Authenticode 証明書のインストールを 1 回実行する必要があります。 その時点から、その証明書で署名されたアプリケーションは信頼済みとみなされ、追加メッセージを表示せずに、ローカル コンピューター上で完全信頼で実行できます。| - どのテクノロジを選択するかは、配置環境に応じて異なります。 詳細については、「[ClickOnce 配置ストラテジの選択](../Topic/Choosing%20a%20ClickOnce%20Deployment%20Strategy.md)」を参照してください。 + どのテクノロジを選択するかは、配置環境に応じて異なります。 詳細については、「[ClickOnce 配置ストラテジの選択](/visualstudio/deployment/choosing-a-clickonce-deployment-strategy)」を参照してください。 - 既定では、[!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] または [!INCLUDE[dnprdnlong](../../../includes/dnprdnlong-md.md)] SDK ツール \(Mage.exe および MageUI.exe\) のいずれかを使用して配置された [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] アプリケーションは、完全信頼を持つクライアント コンピューターで実行するよう構成されます。 部分信頼を使用して、またはいくつか追加のアクセス許可のみを使用して、アプリケーションを配置している場合、この既定を変更する必要があります。 配置を構成するときに、[!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] または [!INCLUDE[dnprdnlong](../../../includes/dnprdnlong-md.md)] SDK ツールの MageUI.exe のいずれかを使用して構成できます。 MageUI.exe を使用する方法の詳細については、「チュートリアル : コマンドラインから ClickOnce アプリケーションを配置する」を参照してください。 「[方法 : ClickOnce アプリケーションのカスタム アクセス許可を設定する](http://msdn.microsoft.com/library/hafybdaa\(v=vs.110\))」または「[方法 : ClickOnce アプリケーションのカスタム アクセス許可を設定する](http://msdn.microsoft.com/library/hafybdaa\(v=vs.120\))」も参照してください。 + 既定では、[!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] または [!INCLUDE[dnprdnlong](../../../includes/dnprdnlong-md.md)] SDK ツール (Mage.exe および MageUI.exe) のいずれかを使用して配置された [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] アプリケーションは、完全信頼を持つクライアント コンピューターで実行するよう構成されます。 部分信頼を使用して、またはいくつか追加のアクセス許可のみを使用して、アプリケーションを配置している場合、この既定を変更する必要があります。 配置を構成するときに、[!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] または [!INCLUDE[dnprdnlong](../../../includes/dnprdnlong-md.md)] SDK ツールの MageUI.exe のいずれかを使用して構成できます。 MageUI.exe を使用する方法の詳細については、「チュートリアル : コマンドラインから ClickOnce アプリケーションを配置する」を参照してください。 「[方法 : ClickOnce アプリケーションのカスタム アクセス許可を設定する](http://msdn.microsoft.com/library/hafybdaa\(v=vs.110\))」または「[方法 : ClickOnce アプリケーションのカスタム アクセス許可を設定する](http://msdn.microsoft.com/library/hafybdaa\(v=vs.120\))」も参照してください。 - [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] とアクセス許可の昇格のセキュリティ面の詳細については、「[ClickOnce アプリケーションのセキュリティ](../Topic/Securing%20ClickOnce%20Applications.md)」を参照してください。 信頼されたアプリケーションの配置の詳細については、「[信頼されたアプリケーションの配置の概要](../Topic/Trusted%20Application%20Deployment%20Overview.md)」を参照してください。 + [!INCLUDE[ndptecclick](../../../includes/ndptecclick-md.md)] とアクセス許可の昇格のセキュリティ面の詳細については、「[ClickOnce アプリケーションのセキュリティ](/visualstudio/deployment/securing-clickonce-applications)」を参照してください。 信頼されたアプリケーションの配置の詳細については、「[信頼されたアプリケーションの配置の概要](/visualstudio/deployment/trusted-application-deployment-overview)」を参照してください。 -### アプリケーションのテスト - [!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] を使用して Windows フォーム アプリケーションを配置した場合は、開発環境から、部分信頼または制限されたアクセス許可セットでのデバッグを有効にできます。 「[方法 : アクセス許可が制限された ClickOnce アプリケーションをデバッグする](http://msdn.microsoft.com/library/593zkfdf\(v=vs.110\))」または「[方法 : アクセス許可が制限された ClickOnce アプリケーションをデバッグする](http://msdn.microsoft.com/library/593zkfdf\(v=vs.120\))」も参照してください。 +### アプリケーションのテスト + [!INCLUDE[vsprvs](../../../includes/vsprvs-md.md)] を使用して Windows フォーム アプリケーションを配置した場合は、開発環境から、部分信頼または制限されたアクセス許可セットでのデバッグを有効にできます。 「[方法 : アクセス許可が制限された ClickOnce アプリケーションをデバッグする](http://msdn.microsoft.com/library/593zkfdf\(v=vs.110\))」または「[方法 : アクセス許可が制限された ClickOnce アプリケーションをデバッグする](http://msdn.microsoft.com/library/593zkfdf\(v=vs.120\))」を参照してください。 -## 参照 - [Windows フォームのセキュリティ](../../../docs/framework/winforms/windows-forms-security.md) - [コード アクセス セキュリティの基礎](../../../docs/framework/misc/code-access-security-basics.md) - [ClickOnce のセキュリティと配置](../Topic/ClickOnce%20Security%20and%20Deployment.md) - [信頼されたアプリケーションの配置の概要](../Topic/Trusted%20Application%20Deployment%20Overview.md) - [Mage.exe \(マニフェストの生成および編集ツール\)](../../../docs/framework/tools/mage-exe-manifest-generation-and-editing-tool.md) - [MageUI.exe \(マニフェスト生成および編集ツールのグラフィカル クライアント\)](../../../docs/framework/tools/mageui-exe-manifest-generation-and-editing-tool-graphical-client.md) \ No newline at end of file +## 関連項目 + [Windows フォームのセキュリティ](../../../docs/framework/winforms/windows-forms-security.md) + [コード アクセス セキュリティの基礎](../../../docs/framework/misc/code-access-security-basics.md) + [ClickOnce のセキュリティと配置](/visualstudio/deployment/clickonce-security-and-deployment) + [信頼されたアプリケーションの配置の概要](/visualstudio/deployment/trusted-application-deployment-overview) + [Mage.exe (マニフェストの生成および編集ツール)](../../../docs/framework/tools/mage-exe-manifest-generation-and-editing-tool.md) + [MageUI.exe (マニフェスト生成および編集ツールのグラフィカル クライアント)](../../../docs/framework/tools/mageui-exe-manifest-generation-and-editing-tool-graphical-client.md) diff --git a/docs/framework/wpf/advanced/document-serialization-and-storage.md b/docs/framework/wpf/advanced/document-serialization-and-storage.md index fb21ca7793a..924ae082830 100644 --- a/docs/framework/wpf/advanced/document-serialization-and-storage.md +++ b/docs/framework/wpf/advanced/document-serialization-and-storage.md @@ -1,90 +1,92 @@ --- -title: "ドキュメントのシリアル化および保存 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "ドキュメント, シリアル化" - - "ドキュメント, storage" - - "シリアル化 (ドキュメントの)" - - "保存 (ドキュメントを)" -ms.assetid: 4839cd87-e206-4571-803f-0200098ad37b -caps.latest.revision: 24 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 23 +title: "ドキュメントのシリアル化および保存" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- 'serialization of documents [WPF], , ' +- documents [WPF], storage +- documents [WPF], serialization +ms.assetid: 4839cd87-e206-4571-803f-0200098ad37b +caps.latest.revision: "24" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 34b517366a5f143a86388abff5ae13022bc710c3 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 --- -# ドキュメントのシリアル化および保存 -[!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)] は、高品質なドキュメントを作成および表示するための強力な環境を提供します。 固定ドキュメントとフロー ドキュメントの両方をサポートする拡張機能、高度な表示コントロール、および 2D や 3D の強力なグラフィックス機能を組み合わせることにより、[!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] アプリケーションの品質とユーザー エクスペリエンスをさらに向上させることができます。 ドキュメントのメモリ内表現を柔軟に管理するための機能は [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] の重要な機能の 1 つであり、データ ストアからドキュメントを効率的に保存して読み込むための機能はほとんどのアプリケーションで必要になります。 内部のメモリ内表現から外部のデータ ストアにドキュメントを変換するプロセスは、[シリアル化](GTMT)と呼ばれます。 データ ストアを読み込んで元のメモリ内インスタンスを再作成する逆のプロセスは、逆シリアル化と呼ばれます。 +# ドキュメントのシリアル化および保存 +[!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)] では、高品質のドキュメントを作成および表示するための強力な環境が提供されています。 固定ドキュメントとフロー ドキュメントの両方および高度な表示コントロールをサポートし、強力な 2D および 3D グラフィックス機能と組み合わされた拡張機能により、[!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] アプリケーションの品質とユーザー エクスペリエンスは新しいレベルになります。 ドキュメントのメモリ内の表現を柔軟に管理できることは [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] の重要な機能であり、ほぼすべてのアプリケーションではデータ ストアのドキュメントを効率的に保存および読み込むことができる必要があります。 内部のメモリ内表現から外部のデータ ストアにドキュメントを変換するプロセスは、シリアル化と呼ばれます。 データ ストアを読み取って元のメモリ内インスタンスを再作成する逆のプロセスは、逆シリアル化と呼ばれます。 - + -## ドキュメントのシリアル化について - 理想的には、メモリ内のドキュメントを[シリアル化](GTMT)および逆シリアル化してメモリに戻すプロセスは、アプリケーションから透過的に実行されます。 アプリケーションは、シリアライザーの "write" メソッドを呼び出してドキュメントを保存します。一方、デシリアライザーの "read" メソッドは、データ ストアにアクセスして元のインスタンスをメモリ内に再作成します。 シリアル化および逆シリアル化によってドキュメントが元の形式に再作成される限り、通常、データの特定の保存形式はアプリケーションにとって重要ではありません。 +## ドキュメントのシリアル化について + ドキュメントをメモリからシリアル化し、後で逆シリアル化してメモリに戻すプロセスは、アプリケーションに対して透過的に行われるのが理想的です。 アプリケーションは、シリアライザーの "書き込み" メソッドを呼び出してドキュメントを保存します。デシリアライザーの "読み取り" メソッドは、データ ストアにアクセスし、メモリ内の元のインスタンスを再作成します。 通常、シリアル化と逆シリアル化のプロセスで元の形式のドキュメントが再作成される限り、データが格納される特定の形式はアプリケーションにとって問題ではありません。 - 多くのアプリケーションには複数のシリアル化オプションが用意されています。これは、ドキュメントを異なるメディアや異なる形式に保存できるようにするためです。 たとえば、ディスク ファイル、データベース、または Web サービスにドキュメントを保存するための "名前を付けて保存" オプションがアプリケーションに用意されていることがあります。 同様に、複数のシリアライザーを使用することで、HTML、RTF、XML、XPS などさまざまな形式でドキュメントを保存できます。また、サードパーティの形式に保存することもできます。 シリアル化は、アプリケーションに対し、ストレージ メディアの詳細を各シリアライザーの実装内に分離するインターフェイスを定義します。 [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] [!INCLUDE[TLA2#tla_api#plural](../../../../includes/tla2sharptla-apisharpplural-md.md)] には、ストレージ詳細のカプセル化という利点に加えて、いくつかの重要な機能が用意されています。 + 多くの場合、アプリケーションでは複数のシリアル化オプションが提供され、ユーザーは異なるメディアまたは異なる形式にドキュメントを保存できます。 たとえば、[名前を付けて保存] オプションでは、ドキュメントをディスク ファイル、データベース、Web サービスなどに保存できる場合があります。 同様に、別のシリアライザーでは、HTML、RTF、XML、XPS、サード パーティ形式などのさまざまな形式でドキュメントを格納できます。 アプリケーションに対して、シリアル化により、実装内のストレージ メディアの詳細を分離するインターフェイスが定義されます。 記憶域の詳細をカプセル化の利点に加え、 [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] [!INCLUDE[TLA2#tla_api#plural](../../../../includes/tla2sharptla-apisharpplural-md.md)]他のいくつかの重要な機能を提供します。 -### .NET Framework 3.0 ドキュメント シリアライザーの機能 +### .NET Framework 3.0 ドキュメント シリアライザーの機能 -- 高レベルのドキュメント オブジェクト \([論理ツリー](GTMT)およびビジュアル\) への直接アクセス。この機能により、自動修正されたコンテンツ、2D\/3D 要素、イメージ、メディア、ハイパーリンク、注釈、およびその他のサポート コンテンツを効率的に保存できます。 +- 上位レベルのドキュメント オブジェクト (論理ツリーとビジュアル) に直接アクセスすることにより、ページ分割されたコンテンツ、2D/3D 要素、イメージ、メディア、ハイパーリンク、注釈、およびその他のサポート コンテンツの効率的な保存が可能になります。 -- [同期](GTMT)操作と[非同期](GTMT)操作。 +- 同期操作と非同期操作。 -- 次の拡張機能を持つプラグイン シリアライザーのサポート。 +- 拡張機能でのプラグイン シリアライザーのサポート: - - すべての [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] アプリケーションで使用される、システム全体へのアクセス。 + - すべての [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] アプリケーションで使用するためのシステム全体のアクセス。 - - アプリケーション プラグインの簡単な検出。 + - 簡単なアプリケーション プラグインの検出。 - - サードパーティのカスタム プラグインの簡単な配置、インストール、および更新。 + - カスタム サードパーティ プラグインの簡単な展開、インストール、更新。 - - ランタイム設定およびオプションをカスタマイズするためのユーザー インターフェイス サポート。 + - カスタム実行時設定とオプションのユーザー インターフェイス サポート。 -### XPS 印刷パス - [!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)] [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] 印刷パスもまた、印刷出力を介してドキュメントを書き込むための拡張性の高い機能を提供します。 [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] は、ドキュメントのファイル形式および [!INCLUDE[TLA#tla_winvista](../../../../includes/tlasharptla-winvista-md.md)] のネイティブな印刷スプール形式として使用されます。 [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] ドキュメントは、[!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] 互換プリンターに直接送信できます。中間形式に変換する必要はありません。 印刷パスの出力オプションおよび機能の詳細については、「[印刷の概要](../../../../docs/framework/wpf/advanced/printing-overview.md)」を参照してください。 +### XPS 印刷パス + [!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)][!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] の印刷パスでは、印刷出力によってドキュメントを作成するための拡張機構も提供されます。 [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] は、ドキュメント ファイル形式と、[!INCLUDE[TLA#tla_winvista](../../../../includes/tlasharptla-winvista-md.md)] のネイティブ印刷スプール形式の両方として機能します。 [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] のドキュメントは [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] 互換性のあるプリンターに直接送信でき、中間形式に変換する必要はありません。 印刷パス出力オプションと機能について詳しくは、「[印刷の概要](../../../../docs/framework/wpf/advanced/printing-overview.md)」をご覧ください。 -## プラグイン シリアライザー - API は、プラグイン シリアライザーとリンクされたシリアライザーの両方をサポートします。これらのシリアライザーは、アプリケーションから別々にインストールされ、実行時にバインドされます。これらのシリアライザーにアクセスする際には、 の検出機構が使用されます。 プラグイン シリアライザーには、配置およびシステム全体での使用を容易にするための拡張機能が用意されています。 リンクされたシリアライザーは、プラグイン シリアライザーにアクセスできない [!INCLUDE[TLA#tla_xbap#plural](../../../../includes/tlasharptla-xbapsharpplural-md.md)] などの[部分信頼](GTMT)環境にも実装できます。 リンクされたシリアライザーは、 クラスの派生実装に基づいており、アプリケーション内に直接コンパイルおよびリンクされます。 プラグイン シリアライザーとリンクされたシリアライザーは、同一のパブリック メソッドおよびイベントを介して動作します。これにより、いずれかまたは両方のシリアライザーを同じアプリケーション内で容易に使用することができます。 +## プラグイン シリアライザー + Api は、プラグイン シリアライザーと、アプリケーションから個別にインストールされているリンクされたシリアライザーの両方のサポートを提供し、実行時に、バインドを使用してアクセス、探索メカニズムです。 プラグイン シリアライザーには、簡単に展開でき、システム全体で使用できるという大きな利点があります。 プラグイン シリアライザーにアクセスできない [!INCLUDE[TLA#tla_xbap#plural](../../../../includes/tlasharptla-xbapsharpplural-md.md)] などの部分信頼環境には、リンクされたシリアライザーを実装することもできます。 派生の実装に基づいているシリアライザーのリンク、クラス、コンパイルされ、アプリケーションに直接リンクされています。 プラグイン シリアライザーとリンクされたシリアライザーはどちらも同じパブリック メソッドとイベントを通じて動作するので、同じアプリケーションでどちらか一方でも両方のシリアライザーでも簡単に使うことができます。 - プラグイン シリアライザーは、新しいストレージ設計およびファイル形式に拡張機能を提供します。これにより、ビルド時に使用される可能性があるすべての形式に対してコードを直接記述する必要がなくなるため、アプリケーション開発者の負担が軽減されます。 また、プラグイン シリアライザーでは、カスタム ファイル形式または専用のファイル形式のためのシステム アクセス可能なプラグインを標準的な方法で配置、インストール、および更新できます。これにより、サードパーティの開発者の負担も軽減されます。 + アプリケーション開発者にとっての利点として、プラグイン シリアライザーは新しいストレージ設計およびファイル形式に対する拡張性を備え、ビルド時に可能性のあるすべての形式を直接コーディングする必要はありません。 また、サードパーティの開発者にとっても、プラグイン シリアライザーには、カスタムまたは独自のファイル形式のためのシステムでアクセス可能なプラグインを展開、インストール、更新する標準化された手段が提供されるというメリットがあります。 -### プラグイン シリアライザーの使用 - プラグイン シリアライザーは簡単に使用できます。 クラスは、システムにインストールされている各プラグインの オブジェクトを列挙します。 プロパティは、現在の構成に基づいてインストール済みのプラグインをフィルター処理し、アプリケーションによるシリアライザーの読み込みおよび使用が可能であるかどうかを検証します。 は、 などその他のプロパティも提供します。アプリケーションは、これらのプロパティを使用して、使用可能な出力形式のシリアライザーの選択をユーザーに求めることができます。 [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] の既定のプラグイン シリアライザーは [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] によって提供されます。このシリアライザーは必ず列挙されます。 ユーザーが出力形式を選択したら、 メソッドを使用してその形式に対応する を作成します。 次に、. メソッドを呼び出して、ドキュメント ストリームをデータ ストアに出力できます。 +### プラグイン シリアライザーの使用 + プラグイン シリアライザーは簡単に使うことができます。 クラスを列挙、システムにインストールされている各プラグインのオブジェクトします。 プロパティは、現在の構成に基づいたインストール済みのプラグインをフィルター処理し、シリアライザーの読み込まれ、アプリケーションで使用されることを確認します。 などその他のプロパティの提供も、使用可能な出力形式のシリアライザーの選択にユーザー入力を求める、アプリケーションが使用できます。 [!INCLUDE[TLA2#tla_xps](../../../../includes/tla2sharptla-xps-md.md)] 用の既定のプラグイン シリアライザーは [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] で提供され、常に列挙されます。 ユーザーが、出力形式を選択した後、メソッドの使用を作成、の特定の形式です。 .メソッドは、データ ストアにドキュメント ストリームを出力し、呼び出すことができます。 - "PlugInFileFilter" プロパティ内で メソッドを使用するアプリケーションの例を次に示します。 PlugInFileFilter は、インストール済みのプラグインを列挙し、使用可能なファイル オプションを使用してフィルター文字列を作成します。このフィルター文字列は で使用されます。 + 次の例では、使用するアプリケーションを"PlugInFileFilter"プロパティのメソッドです。 PlugInFileFilter がインストールされているプラグインを列挙しの使用可能なファイルのオプションのフィルター文字列を構築、です。 [!code-csharp[DocumentSerialize#DocSerializeFileFilter](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DocumentSerialize/CSharp/ThumbViewer.cs#docserializefilefilter)] - ユーザーが出力ファイル名を選択した後、 メソッドを使用して、指定したドキュメントを指定した形式で保存する例を次に示します。 + 出力ファイル名がユーザーによって選択された後、次の例の使用、指定の形式で、特定のドキュメントを格納する方法です。 [!code-csharp[DocumentSerialize#DocSerializePlugIn](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DocumentSerialize/CSharp/ThumbViewer.cs#docserializeplugin)] -### プラグイン シリアライザーのインストール - クラスは、プラグイン シリアライザーの検出およびアクセスに使用される、上位レベルのアプリケーション インターフェイスを提供します。 は、システムにインストールされているアクセスできるシリアライザーを検索し、その一覧をアプリケーションに提供します。 インストール済みのシリアライザーの詳細は、レジストリ設定で定義されます。 メソッドを使用すると、プラグイン シリアライザーをレジストリに追加することができます。[!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] がまだインストールされていない場合は、プラグインのインストール スクリプトでレジストリの値を直接設定できます。 メソッドを使用すると、以前にインストールされたプラグインを削除できます。アンインストール スクリプトでレジストリ設定をリセットすることもできます。 +### プラグイン シリアライザーのインストール + クラスは、プラグイン シリアライザー探索およびアクセスの上位レベルのアプリケーション インターフェイスを提供します。 検索し、アプリケーションがインストールされ、システム上でアクセスするシリアライザーの一覧を示します。 インストールされているシリアライザーの詳細は、レジストリ設定によって定義されます。 プラグイン シリアライザーを使用して、レジストリに追加されることができます、メソッド場合[!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)]がまだないインストールの場合は、一連のレジストリ値自体直接、プラグインのインストール スクリプトになります。 以前にインストールを削除するメソッドを使用できるプラグイン、レジストリ設定は、アンインストール スクリプトによって同様にリセットすることもできます。 -### プラグイン シリアライザーの作成 - プラグイン シリアライザーとリンクされたシリアライザーは、公開されている同一のパブリック メソッドおよびイベントを使用します。また、同様の方法で[同期的](GTMT)または[非同期的](GTMT)に動作するように設計できます。 プラグイン シリアライザーを作成する場合、通常は次の 3 つの基本手順に従います。 +### プラグイン シリアライザーの作成 + プラグイン シリアライザーとリンクされたシリアライザーはどちらも、同じ公開されたパブリック メソッドとイベントを使い、同期または非同期で動作するように同じように設計できます。 通常、プラグイン シリアライザーの作成には 3 つの基本的な手順があります。 -1. まず、リンクされたシリアライザーとしてシリアライザーを実装およびデバッグします。 最初にテスト アプリケーション内でシリアライザーを直接コンパイルおよびリンクして作成すると、ブレークポイントや、テストに役立つその他のデバッグ サービスへの完全なアクセスが提供されます。 +1. 最初に、シリアライザーをリンクされたシリアライザーとして実装してデバッグします。 コンパイルしてテスト アプリケーションに直接リンクするシリアライザーを最初に作成すると、テストに役立つブレークポイントや他のデバッグ サービスに完全にアクセスできます。 -2. シリアライザーのテストが完了したら、 インターフェイスを追加してプラグインを作成します。 インターフェイスにより、論理ツリー、 オブジェクト、 要素などすべての [!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)] オブジェクトへのフル アクセスが可能になります。 さらに、 は、リンクされたシリアライザーによって使用される同一の同期および非同期のメソッドとイベントを提供します。 サイズの大きいドキュメントは出力に時間がかかる場合があるので、ユーザー操作の応答性を維持するために非同期操作を使用するようお勧めします。また、データ ストアに問題が発生した場合に備えて "キャンセル" オプションを用意してください。 +2. シリアライザーを完全にテストした後、プラグインを作成するインターフェイスを追加します。 インターフェイスによって、すべてへのフル アクセス[!INCLUDE[TLA2#tla_winfx](../../../../includes/tla2sharptla-winfx-md.md)]論理ツリーを含むオブジェクトオブジェクト、 、および要素。 さらに同じ同期および非同期のメソッドとリンクされたシリアライザーで使用されるイベントを提供します。 サイズの大きいドキュメントの出力には時間がかかる場合があるため、ユーザーの操作に応答できる状態を維持し、データ ストアで問題が発生した場合の "キャンセル" オプションを提供できるよう、非同期操作を使うことをお勧めします。 -3. プラグイン シリアライザーを作成したら、プラグインの配布、インストール、およびアンインストールのためのインストール スクリプトを実装します \(前の「[プラグイン シリアライザーのインストール](#InstallingPluginSerializers)」を参照してください\)。 +3. プラグイン シリアライザーを作成した後、プラグインを配布してインストール (およびアンインストール) するためのインストール スクリプトを実装します (前の「[プラグイン シリアライザーのインストール](#InstallingPluginSerializers)」を参照)。 -## 参照 - - - - [WPF のドキュメント](../../../../docs/framework/wpf/advanced/documents-in-wpf.md) - [印刷の概要](../../../../docs/framework/wpf/advanced/printing-overview.md) - [XML Paper Specification: 概要](http://go.microsoft.com/fwlink?LinkID=106246) \ No newline at end of file +## 関連項目 + + + + [WPF のドキュメント](../../../../docs/framework/wpf/advanced/documents-in-wpf.md) + [印刷の概要](../../../../docs/framework/wpf/advanced/printing-overview.md) + [XML Paper Specification: 概要](http://go.microsoft.com/fwlink?LinkID=106246) diff --git a/docs/framework/wpf/advanced/how-to-determine-whether-a-freezable-is-frozen.md b/docs/framework/wpf/advanced/how-to-determine-whether-a-freezable-is-frozen.md index 9a85c2903bb..76bdc193e06 100644 --- a/docs/framework/wpf/advanced/how-to-determine-whether-a-freezable-is-frozen.md +++ b/docs/framework/wpf/advanced/how-to-determine-whether-a-freezable-is-frozen.md @@ -1,37 +1,41 @@ ---- -title: "方法 : Freezable が固定されているかどうかを判別する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "Freezable オブジェクト, 判断 (固定されているかどうかを)" - - "IsFrozen プロパティ" +--- +title: "方法 : Freezable が固定されているかどうかを判別する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: Freezable objects [WPF], determining if frozen ms.assetid: 92e58baa-ee12-4a9e-ac3a-ca458807a8b2 -caps.latest.revision: 6 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 6 ---- -# 方法 : Freezable が固定されているかどうかを判別する -この例では、 オブジェクトが固定されているかどうかを判別する方法を示します。 固定された オブジェクトを変更しようとすると、 がスローされます。 この例外がスローされるのを避けるには、 オブジェクトの プロパティを使用して、オブジェクトが固定されているかどうかを判別します。 +caps.latest.revision: "6" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 47fb0a871c3792450386c440629ead1ee3fbecdf +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Freezable が固定されているかどうかを判別する +この例を決める方法を説明するかどうか、オブジェクトが固定されています。 固定された変更を行う場合オブジェクトをスロー、です。 この例外がスローされることを避けるためを使用して、のプロパティ、が固定されているかどうかを決定するオブジェクト。 -## 使用例 - を固定した後、 プロパティを使用してテストし、固定されているかどうかを判別する例を次に示します。 +## 例 + 次の例がフリーズする、を使用してテストし、その、が固定されているかどうかを決定するプロパティです。 - [!code-csharp[freezablesample_procedural#CheckIsFrozenExample](../../../../samples/snippets/csharp/VS_Snippets_Wpf/freezablesample_procedural/CSharp/freezablesample.cs#checkisfrozenexample)] + [!code-csharp[freezablesample_procedural#CheckIsFrozenExample](../../../../samples/snippets/csharp/VS_Snippets_Wpf/freezablesample_procedural/CSharp/freezablesample.cs#checkisfrozenexample)] [!code-vb[freezablesample_procedural#CheckIsFrozenExample](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/freezablesample_procedural/visualbasic/freezablesample.vb#checkisfrozenexample)] - オブジェクトの詳細については、「[Freezable オブジェクトの概要](../../../../docs/framework/wpf/advanced/freezable-objects-overview.md)」を参照してください。 + 詳細については、オブジェクトを参照してください、 [Freezable オブジェクトの概要](../../../../docs/framework/wpf/advanced/freezable-objects-overview.md)です。 -## 参照 - - - [Freezable オブジェクトの概要](../../../../docs/framework/wpf/advanced/freezable-objects-overview.md) - [方法のトピック](../../../../docs/framework/wpf/advanced/base-elements-how-to-topics.md) \ No newline at end of file +## 関連項目 + + + [Freezable オブジェクトの概要](../../../../docs/framework/wpf/advanced/freezable-objects-overview.md) + [方法トピック](../../../../docs/framework/wpf/advanced/base-elements-how-to-topics.md) diff --git a/docs/framework/wpf/advanced/how-to-discover-whether-a-print-job-can-be-printed-at-this-time-of-day.md b/docs/framework/wpf/advanced/how-to-discover-whether-a-print-job-can-be-printed-at-this-time-of-day.md index 8d172e23111..4636aa02bbf 100644 --- a/docs/framework/wpf/advanced/how-to-discover-whether-a-print-job-can-be-printed-at-this-time-of-day.md +++ b/docs/framework/wpf/advanced/how-to-discover-whether-a-print-job-can-be-printed-at-this-time-of-day.md @@ -1,85 +1,92 @@ ---- -title: "方法 : 現在、印刷ジョブが印刷可能であるかどうかを検出する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "印刷ジョブ, タイミング" - - "印刷キュー, タイミング" - - "プリンター, 可用性" +--- +title: "方法 : 現在、印刷ジョブが印刷可能であるかどうかを検出する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +- cpp +helpviewer_keywords: +- print queues [WPF], timing +- printers [WPF], availability +- print jobs [WPF], timing ms.assetid: 7e9c8ec1-abf6-4b3d-b1c6-33b35d3c4063 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 9 ---- -# 方法 : 現在、印刷ジョブが印刷可能であるかどうかを検出する -印刷キューは、24 時間常に使用できるわけではありません。 印刷キューには開始時刻と終了時刻のプロパティがあり、特定の時間帯にキューを使用不可能にする場合にこれらを設定します。 この機能は、たとえば、特定の部門が午後 5 時以降にプリンターを独占使用するための予約を行うときに使用できます。 この部門は、プリンターにサービスを提供するキューとして、他の部門が使用するキューとは異なるキューを使用します。 この部門用のキューは常に使用できるように設定し、他の部門のキューは午後 5 時以降は使用できなくなるように設定します。 +caps.latest.revision: "9" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 9ac89b8dce67c95c78a5dd46e591d84730a68346 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : 現在、印刷ジョブが印刷可能であるかどうかを検出する +印刷キューは常に使用できません、1 日 24 時間です。 1 日の特定の時刻に使用できないように設定できます開始と終了の時刻のプロパティがあります。 たとえば、この機能は、特定の部門午後 5 時以降後に排他的に使用するプリンターを予約するは使用できます。 その部門は、別のキュー サービスの他の部門よりプリンターを使用して必要があります。 午後 5 時以降に他の部署のキューを設定すると、する部門用のキューを設定することが常に使用します。 - さらに、印刷ジョブ自体を、指定した時間の間だけ印刷できるように設定できます。 + さらに、印刷ジョブ自体は、指定した期間内でのみ印刷できるように設定できます。 - [!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)] の [!INCLUDE[TLA#tla_api#plural](../../../../includes/tlasharptla-apisharpplural-md.md)] で公開される クラスおよび クラスは、特定の印刷ジョブが特定のキューで現在印刷可能かどうかをリモートで確認するときに利用できます。 + で公開されているクラス、[!INCLUDE[TLA#tla_api#plural](../../../../includes/tlasharptla-apisharpplural-md.md)]の[!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)]特定の印刷ジョブは、現在の時刻に特定のキューに印刷できるかどうかをリモートから確認の手段を提供します。 -## 使用例 - 次の例は、印刷ジョブに関する問題を診断できるサンプルです。 +## 例 + 次の例は、印刷ジョブに問題を診断できるサンプルです。 - この種の関数の主な手順は次の 2 つです。 + この種の関数の 2 つの主な手順は次があります。 -1. プロパティおよび プロパティを読み取って、現在の時刻がこの 2 つの間であるかどうかを判断します。 +1. 読み取り、のプロパティ、をそれらの間は、現在の時刻かどうかを判断します。 -2. プロパティおよび プロパティを読み取って、現在の時刻がこの 2 つの間であるかどうかを判断します。 +2. 読み取り、のプロパティ、をそれらの間は、現在の時刻かどうかを判断します。 - ただし、これらのプロパティは オブジェクトではないことに注意してください。 これらのプロパティは、時刻を午前 0 時からの経過時間 \(分\) として表す オブジェクトです。 さらに、これは、現在のタイム ゾーンでの午前 0 時ではなく、UTC \(世界協定時刻\) の午前 0 時です。 + これらのプロパティは、ファクトから複雑な問題が発生するが、オブジェクト。 それらは午前 0 時から時間を分単位として日の時刻を表すオブジェクト。 さらに、this、午前 0 時では、現在のタイム ゾーンは UTC (協定世界時) の午前 0 時です。 - 最初のコード例に示す静的メソッド **ReportQueueAndJobAvailability** では、 を受け取り、ヘルパー メソッドを呼び出して、ジョブが現時点で印刷できるかどうかと、できない場合はいつ印刷できるかを判断します。 はメソッドに渡されないことに注意してください。 これは、キューに対する参照が、 プロパティに格納されているからです。 + 最初のコード例は、静的メソッドを表示**ReportQueueAndJobAvailability**、渡された、ジョブが現在の時刻に印刷するかどうかを判断するヘルパー メソッドを呼び出すと、印刷できない場合、ときにそのことができます。 注意して、メソッドに渡されません。 これは、ため、のキューへの参照が含まれています、プロパティです。 - 下位メソッドの 1 つに、オーバーロードされた **ReportAvailabilityAtThisTime** メソッドがあり、このメソッドはパラメーターとして または を受け取ります。 また、**TimeConverter.ConvertToLocalHumanReadableTime** もあります。 これらのすべてのメソッドについては、後で説明します。 + 下位の方法には、オーバー ロードされた**1 つ**いずれかのメソッド、またはをパラメーターとして。 **また**です。 以下は、すべてこれらのメソッドについて説明します。 - **ReportQueueAndJobAvailability** メソッドは、最初に、現時点でキューまたは印刷ジョブが使用不可能になっているかどうかを確認します。 どちらかが使用不可能の場合は、次に、キューが使用不可能かどうかを確認します。 使用不可能の場合は、このことと、いつキューが再び使用可能になるかを報告します。 次に、ジョブを確認し、使用不可能の場合は、ジョブが印刷可能になる時間帯を報告します。 最後に、このジョブが最短でいつ印刷可能になるかを報告します。 これは、次の 2 つのうち、遅い方の時刻です。 + **ReportQueueAndJobAvailability**メソッドを確認するかどうか、キューまたは印刷ジョブが使用可能なこの時点ではまずします。 かどうかを確認するのいずれかが使用可能な場合は、使用できないキュー。 使用できませんこのファクトとすると、キュー利用可能になるもう一度時刻、メソッドが報告されます。 ジョブを確認し、[次へ] の時刻を報告使用可能な場合は、ときにまたがるに印刷できるときにします。 最後に、ジョブを印刷できる最も早い時刻を報告します。 これは、次の 2 倍の後です。 -- 印刷キューが次回使用可能になる時刻。 +- 印刷キューが次に利用可能な時間。 -- 印刷ジョブが次回使用可能になる時刻。 +- 印刷ジョブが次に利用可能な時間。 - 時刻を報告するときに、 メソッドも呼び出します。これは、年月日が出力されないようにするためです。 印刷キューと印刷ジョブのどちらも、使用可能な期間として特定の年、月、または日を指定することはできません。 + 1 日の時間を報告するときに、のため、このメソッドは、年、月、および出力からの日数を表示しません。 メソッドが呼び出されます。 特定の年、月、または日数を印刷キューまたは印刷ジョブのいずれかの可用性を制限することはできません。 - [!code-cpp[DiagnoseProblematicPrintJob#ReportQueueAndJobAvailability](../../../../samples/snippets/cpp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CPP/Program.cpp#reportqueueandjobavailability)] - [!code-csharp[DiagnoseProblematicPrintJob#ReportQueueAndJobAvailability](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CSharp/Program.cs#reportqueueandjobavailability)] + [!code-cpp[DiagnoseProblematicPrintJob#ReportQueueAndJobAvailability](../../../../samples/snippets/cpp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CPP/Program.cpp#reportqueueandjobavailability)] + [!code-csharp[DiagnoseProblematicPrintJob#ReportQueueAndJobAvailability](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CSharp/Program.cs#reportqueueandjobavailability)] [!code-vb[DiagnoseProblematicPrintJob#ReportQueueAndJobAvailability](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/visualbasic/program.vb#reportqueueandjobavailability)] - **ReportAvailabilityAtThisTime** メソッドの 2 つのオーバーロードは、渡される型を除いて同一であるので、 バージョンだけを後に示します + 2 つのオーバー ロード、 **1 つ**メソッドはのみそれらに渡される型を除いて同一、バージョンを記載します。 > [!NOTE] -> これらのメソッドが型以外は同一であるにもかかわらず、このサンプルでジェネリック メソッド **ReportAvailabilityAtThisTime\** を作成しない理由について次に説明します。 このようなメソッドでは、メソッドが呼び出す **StartTimeOfDay** プロパティと **UntilTimeOfDay** プロパティを持つクラスを限定する必要がありますが、ジェネリック メソッドでは限定できるクラスは 1 つだけであるにもかかわらず、継承ツリー内の の両方に共通の唯一のクラス には、これらのプロパティはありません。 +> サンプルはジェネリック メソッドを作成していないため、メソッドが型を除いて同一であることの質問を発生させます**1 つ\**です。 その理由は、このようなメソッドを持つクラスに制限する必要がある、**一度、対象**と**UntilTimeOfDay**メソッドを呼び出すと、プロパティが、ジェネリック メソッドのみに制限できます、1 つのクラスであり、唯一のクラスの両方に共通ツリーは、継承のをこのようなプロパティがありません。 - **ReportAvailabilityAtThisTime** メソッド \(後のコード例に示します\) は、最初に、 型のセンティネル変数を `true` に初期化します。 この変数は、キューが使用不可能の場合に `false` に再設定されます。 + **1 つ**メソッド (次のコード例で表されている) の初期化ではまず、 sentinel 変数`true`です。 リセットされます`false`キューが使用できない場合は、します。 - 次に、開始時刻と終了 \(until\) 時刻が同一であるかどうかを確認します。 同一ならば、キューは常時使用できるので `true` を返します。 + メソッドを次に、かどうかをチェック開始「までの間」時間は同じです。 場合は、キューは常に、使用可能なため、メソッドを返します`true`です。 - キューが常時使用可能ではない場合は、静的プロパティ を使用して、現在の時刻を オブジェクトとして取得します \( および プロパティ自体が UTC 時間なのでローカル時刻は必要ありません\)。 + メソッドが、静的なを使用して、キューが使用できない場合、すべての時間、として現在の時刻を取得するプロパティ、オブジェクト。 (ために、ローカル タイムここは必要ありません、プロパティでは、それ自体を UTC 時刻でします)。 - ただし、この 2 つのプロパティは オブジェクトではありません。 これらは、時刻を UTC の午前 0 時からの経過時間 \(分\) として表す です。 したがって、 オブジェクトを、午前 0 時からの経過時間 \(分\) に変換する必要があります。 その後で、現在の時刻 \(now\) がキューの開始時刻 \(start\) と終了時刻 \(until\) の間であるかどうかを調べ、現在の時刻が 2 つの時刻の間ではない場合は、センティネル変数を false に設定して返します。 + ただし、これら 2 つのプロパティがオブジェクト。 分後に UTC 深夜の数と時間を表すです。 変換するためは、分の後、午前 0 時にオブジェクト。 インストールが完了したら、メソッドだけが確認する"now"かどうかを参照してください、キューの開始の間、および「まで」回、セットを false の場合は"now"sentinel が 2 つの時刻の間ではありませんし、sentinel を返します。 - [!code-cpp[DiagnoseProblematicPrintJob#PrintQueueStartUntil](../../../../samples/snippets/cpp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CPP/Program.cpp#printqueuestartuntil)] - [!code-csharp[DiagnoseProblematicPrintJob#PrintQueueStartUntil](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CSharp/Program.cs#printqueuestartuntil)] + [!code-cpp[DiagnoseProblematicPrintJob#PrintQueueStartUntil](../../../../samples/snippets/cpp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CPP/Program.cpp#printqueuestartuntil)] + [!code-csharp[DiagnoseProblematicPrintJob#PrintQueueStartUntil](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CSharp/Program.cs#printqueuestartuntil)] [!code-vb[DiagnoseProblematicPrintJob#PrintQueueStartUntil](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/visualbasic/program.vb#printqueuestartuntil)] - **TimeConverter.ConvertToLocalHumanReadableTime** メソッド \(後のコード例に示します\) では、[!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)] で導入されたメソッドを使用していないので、詳しい説明は省略します。 このメソッドは、二重の変換を行います。午前 0 時からの経過時間 \(分\) 表す整数を受け取って、人間可読な時刻に変換し、この時刻をローカル時刻に変換する必要があります。 このことを実現するために、最初に UTC 午前 0 時に設定された オブジェクトを作成し、 メソッドを使用して、メソッドに渡された午前 0 時からの経過時間 \(分\) を加算します。 このメソッドからは、渡された元の時刻を表す新しい が返されます。 次に、 メソッドを使用してこの時刻をローカル時刻に変換します。 + **また**メソッド (次のコード例で表されている) がで導入されたすべてのメソッドを使用しない[!INCLUDE[TLA#tla_winfx](../../../../includes/tlasharptla-winfx-md.md)]なので、ディスカッションは簡単です。 メソッドには二重の変換: 分の後、午前 0 時を表す整数値を取得および人間が判読できる時間に変換する必要があります、これをローカル時刻に変換する必要があります。 でこれを行う、最初に作成、 UTC しを使用して午前 0 時に設定されているオブジェクト、メソッドをメソッドに渡された分を加算します。 返されます。 新しいメソッドに渡された元の時刻を表すです。 メソッドし、この現地時刻に変換します。 - [!code-cpp[DiagnoseProblematicPrintJob#TimeConverter](../../../../samples/snippets/cpp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CPP/Program.cpp#timeconverter)] - [!code-csharp[DiagnoseProblematicPrintJob#TimeConverter](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CSharp/Program.cs#timeconverter)] + [!code-cpp[DiagnoseProblematicPrintJob#TimeConverter](../../../../samples/snippets/cpp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CPP/Program.cpp#timeconverter)] + [!code-csharp[DiagnoseProblematicPrintJob#TimeConverter](../../../../samples/snippets/csharp/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/CSharp/Program.cs#timeconverter)] [!code-vb[DiagnoseProblematicPrintJob#TimeConverter](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/DiagnoseProblematicPrintJob/visualbasic/program.vb#timeconverter)] -## 参照 - - - - [WPF のドキュメント](../../../../docs/framework/wpf/advanced/documents-in-wpf.md) - [印刷の概要](../../../../docs/framework/wpf/advanced/printing-overview.md) \ No newline at end of file +## 関連項目 + + + + [WPF のドキュメント](../../../../docs/framework/wpf/advanced/documents-in-wpf.md) + [印刷の概要](../../../../docs/framework/wpf/advanced/printing-overview.md) diff --git a/docs/framework/wpf/advanced/optimizing-performance-object-behavior.md b/docs/framework/wpf/advanced/optimizing-performance-object-behavior.md index b5f8a39bd52..15230eb8766 100644 --- a/docs/framework/wpf/advanced/optimizing-performance-object-behavior.md +++ b/docs/framework/wpf/advanced/optimizing-performance-object-behavior.md @@ -1,126 +1,132 @@ --- -title: "パフォーマンスの最適化 : オブジェクトの動作 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "依存関係プロパティ, パフォーマンス" - - "イベント ハンドラー [WPF]" - - "Freezable オブジェクト, パフォーマンス" - - "オブジェクト パフォーマンスに関する留意事項" - - "ユーザー インターフェイスの仮想化" -ms.assetid: 73aa2f47-1d73-439a-be1f-78dc4ba2b5bd -caps.latest.revision: 12 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 11 +title: "パフォーマンスの最適化 : オブジェクトの動作" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- user interface virtualization [WPF] +- dependency properties [WPF], performance +- event handlers [WPF] +- object performance considerations [WPF] +- Freezable objects [WPF], performance +ms.assetid: 73aa2f47-1d73-439a-be1f-78dc4ba2b5bd +caps.latest.revision: "12" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 1e929ec927bc0eb7494d8865fc5452cfc6910169 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 --- -# パフォーマンスの最適化 : オブジェクトの動作 +# パフォーマンスの最適化 : オブジェクトの動作 [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] オブジェクトに固有の動作を理解することは、機能とパフォーマンスのバランスを見極めるうえで役に立ちます。 - + -## オブジェクトのイベント ハンドラーを削除しないとオブジェクトが維持される可能性がある - オブジェクトがそのイベントに渡すデリゲートは、事実上そのオブジェクトへの参照です。 このため、イベント ハンドラーによってオブジェクトが本来より長く維持される可能性があります。 オブジェクトのイベントをリッスンするように登録されているオブジェクトのクリーンアップを実行するときには、オブジェクトを解放する前にそのデリゲートを削除することが重要です。 不要なオブジェクトが残っていると、アプリケーションのメモリ使用量が増加します。 これは、オブジェクトが[論理ツリー](GTMT)や[ビジュアル ツリー](GTMT)のルートである場合には特に重要になります。 +## オブジェクトのイベント ハンドラーを削除しないとオブジェクトが維持される可能性がある + オブジェクトがそのイベントに渡すデリゲートは、事実上そのオブジェクトへの参照です。 このため、イベント ハンドラーによってオブジェクトが本来より長く維持される可能性があります。 オブジェクトのイベントをリッスンするように登録されているオブジェクトのクリーンアップを実行するときには、オブジェクトを解放する前にそのデリゲートを削除することが重要です。 不要なオブジェクトが残っていると、アプリケーションのメモリ使用量が増加します。 これは、オブジェクトが論理ツリーやビジュアル ツリーのルートである場合には特に重要になります。 - [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] によって導入される弱いイベント リスナー パターンは、ソースとリスナーのオブジェクト有効期間の関係の追跡が困難な場合に役に立ちます。 一部の既存の [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] イベントはこのパターンを使用します。 カスタム イベントを持つオブジェクトを実装する場合に、このパターンが役に立つこともあります。 詳細については、「[弱いイベント パターン](../../../../docs/framework/wpf/advanced/weak-event-patterns.md)」を参照してください。 + [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] によって導入される弱いイベント リスナー パターンは、ソースとリスナーのオブジェクト有効期間の関係の追跡が困難な場合に役に立ちます。 一部の既存の [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] イベントはこのパターンを使用します。 カスタム イベントを持つオブジェクトを実装する場合に、このパターンが役に立つこともあります。 詳細については、「[弱いイベント パターン](../../../../docs/framework/wpf/advanced/weak-event-patterns.md)」を参照してください。 - CLR プロファイラーや作業セット ビューアーなど、特定のプロセスのメモリ使用量に関する情報を入手できるツールもいくつかあります。 CLR プロファイラーには、割り当てられた型のヒストグラム、割り当てグラフと呼び出しグラフ、さまざまなジェネレーションのガベージ コレクションとその結果のマネージ ヒープの状態を示す時系列、メソッドごとの割り当てとアセンブリの読み込みを示す呼び出しツリーなど、非常に便利な割り当てプロファイルのビューがいくつか含まれています。 詳細については、[.NET Framework Developer Center](http://go.microsoft.com/fwlink/?LinkId=117435) を参照してください。 + CLR プロファイラーや作業セット ビューアーなど、特定のプロセスのメモリ使用量に関する情報を入手できるツールもいくつかあります。 CLR プロファイラーには、割り当てられた型のヒストグラム、割り当てグラフと呼び出しグラフ、さまざまなジェネレーションのガベージ コレクションとその結果のマネージ ヒープの状態を示す時系列、メソッドごとの割り当てとアセンブリの読み込みを示す呼び出しツリーなど、非常に便利な割り当てプロファイルのビューがいくつか含まれています。 詳細については、「[.NET Framework デベロッパー センター](http://go.microsoft.com/fwlink/?LinkId=117435)」を参照してください。 -## 依存関係プロパティと依存関係オブジェクト - 一般に、 の[依存関係プロパティ](GTMT)へのアクセスが [!INCLUDE[TLA2#tla_clr](../../../../includes/tla2sharptla-clr-md.md)] プロパティへのアクセスに比べて遅いということはありません。 プロパティ値の設定には多少のパフォーマンス オーバーヘッドがありますが、値の取得は、[!INCLUDE[TLA2#tla_clr](../../../../includes/tla2sharptla-clr-md.md)] プロパティから取得する場合と同じくらい高速です。 この小さなパフォーマンス オーバーヘッドがある代わりに、[依存関係プロパティ](GTMT)では、データ バインディング、アニメーション、継承、スタイル設定などの堅牢な機能がサポートされています。 詳細については、「[依存関係プロパティの概要](../../../../docs/framework/wpf/advanced/dependency-properties-overview.md)」を参照してください。 +## 依存関係プロパティと依存関係オブジェクト + 一般の依存関係プロパティへのアクセス、にアクセスするよりも遅くなりますが、[!INCLUDE[TLA2#tla_clr](../../../../includes/tla2sharptla-clr-md.md)]プロパティです。 プロパティ値の設定には多少のパフォーマンス オーバーヘッドがありますが、値の取得は、[!INCLUDE[TLA2#tla_clr](../../../../includes/tla2sharptla-clr-md.md)] プロパティから取得する場合と同じくらい高速です。 この小さなパフォーマンス オーバーヘッドがある代わりに、依存関係プロパティでは、データ バインディング、アニメーション、継承、スタイル設定などの堅牢な機能がサポートされています。 依存関係プロパティの詳細については、「[依存関係プロパティの概要](../../../../docs/framework/wpf/advanced/dependency-properties-overview.md)」を参照してください。 -### DependencyProperty の最適化 - アプリケーションで[依存関係プロパティ](GTMT)を定義するときには注意が必要です。 定義する が描画型のメタデータ オプションにしか影響しない場合 \( などのその他のメタデータ オプションには影響しない場合\) は、メタデータをオーバーライドしてそのようにマークする必要があります。 プロパティ メタデータをオーバーライドまたは取得する方法の詳細については、「[依存関係プロパティのメタデータ](../../../../docs/framework/wpf/advanced/dependency-property-metadata.md)」を参照してください。 +### DependencyProperty の最適化 + アプリケーションで依存関係プロパティを定義するときには注意が必要です。 場合、への影響しか表示されないその他のメタデータ オプションではなく、メタデータの種類のオプションなど、そのメタデータをオーバーライドすることでようマークする必要があります。 プロパティ メタデータをオーバーライドまたは取得する方法の詳細については、「[依存関係プロパティのメタデータ](../../../../docs/framework/wpf/advanced/dependency-property-metadata.md)」を参照してください。 - すべてのプロパティ変更が実際に測定、配置、および描画に影響するわけではない場合は、測定、配置、および描画の各パスを、プロパティ変更ハンドラーによって手動で無効にした方が効率的な場合もあります。 たとえば、設定した制限値より値が大きい場合にのみ背景を再描画する場合は、 設定した制限値を値が超えていた場合にのみプロパティ変更ハンドラーで描画を無効にします。 + すべてのプロパティ変更が実際に測定、配置、描画に影響するわけではない場合は、測定、配置、描画の各パスを、プロパティ変更ハンドラーによって手動で無効にした方が効率的な場合もあります。 たとえば、設定した制限値より値が大きい場合にのみ背景を再描画する場合は、 設定した制限値を値が超えていた場合にのみプロパティ変更ハンドラーで描画を無効にします。 -### DependencyProperty を継承可能にするとパフォーマンスへの負荷が発生する - 既定では、登録した[依存関係プロパティ](GTMT)は継承不可になります。 ただし、プロパティはどれでも明示的に継承可能にすることができます。 この機能は便利ですが、プロパティを継承可能にすると、プロパティの無効化の時間が増加して、パフォーマンスに影響します。 +### DependencyProperty を継承可能にするとパフォーマンスへの負荷が発生する + 既定では、登録した依存関係プロパティは継承不可になります。 ただし、プロパティはどれでも明示的に継承可能にすることができます。 この機能は便利ですが、プロパティを継承可能にすると、プロパティの無効化の時間が増加して、パフォーマンスに影響します。 -### RegisterClassHandler は慎重に使用する - を呼び出すと、インスタンスの状態を保存することができます。ただし、このハンドラーはすべてのインスタンスで呼び出されるということを認識しておく必要があります。これはパフォーマンス上問題になる可能性があります。 を使用するのは、アプリケーションでインスタンスの状態を保存する必要がある場合だけにしてください。 +### RegisterClassHandler は慎重に使用する + 呼び出し中に使用する、インスタンスの状態を保存することが重要すべてのインスタンスでは、パフォーマンスの問題が発生することで、ハンドラーが呼び出されることに注意してください。 のみを使用してときに、アプリケーションでは、インスタンスの状態を保存することが必要です。 -### DependencyProperty の既定値は登録時に設定する - 既定値を必要とする を作成するときには、 メソッドにパラメーターとして渡される既定のメタデータを使用してその値を設定します。 コンストラクターや要素の各インスタンスでプロパティ値を設定するのではなく、この方法を使用するようにしてください。 +### DependencyProperty の既定値は登録時に設定する + 作成するときに、へのパラメーターとして渡される既定のメタデータを使用して設定すると、既定値を必要とする、のメソッド、です。 コンストラクターや要素の各インスタンスでプロパティ値を設定するのではなく、この方法を使用するようにしてください。 -### Register を使用して PropertyMetadata の値を設定する - を作成する場合、 を設定するには、 メソッドを使用する方法と メソッドを使用する方法があります。 オブジェクトの静的コンストラクターで を呼び出すこともできますが、これは最適な解決方法とは言えず、パフォーマンスに影響します。 最適なパフォーマンスを得るためには、 の呼び出しの際に を設定します。 +### Register を使用して PropertyMetadata の値を設定する + 作成するときに、 、設定のオプションがある、いずれかを使用して、またはメソッドです。 オブジェクトが、静的コンス トラクターを呼び出す、この最適なソリューションではないと、パフォーマンスに影響します。 最適なパフォーマンスを設定、への呼び出し中にです。 -## Freezable オブジェクト - は、非フリーズとフリーズの 2 つの状態を持つ特殊な型のオブジェクトです。 可能な場合は常にオブジェクトを固定するようにすると、アプリケーションのパフォーマンスが向上し、作業セットを縮小できます。 詳細については、「[Freezable オブジェクトの概要](../../../../docs/framework/wpf/advanced/freezable-objects-overview.md)」を参照してください。 +## Freezable オブジェクト + Aを 2 つの状態を持つオブジェクトの特別な種類: 固定おらず、固定されています。 可能な場合は常にオブジェクトを固定するようにすると、アプリケーションのパフォーマンスが向上し、作業セットを縮小できます。 詳細については、「[Freezable オブジェクトの概要](../../../../docs/framework/wpf/advanced/freezable-objects-overview.md)」を参照してください。 - 各 には、オブジェクトが変更されるたびに発生する イベントがあります。 ただし、変更通知はアプリケーションのパフォーマンスに影響を与えます。 + 各が、変更されるたびに発生するイベントです。 ただし、変更通知はアプリケーションのパフォーマンスに影響を与えます。 - たとえば、次の例では、各 が同じ オブジェクトを使用しています。 + 各の次の例を検討してください同じオブジェクト。 [!code-csharp[Performance#PerformanceSnippet2](../../../../samples/snippets/csharp/VS_Snippets_Wpf/Performance/CSharp/Window1.xaml.cs#performancesnippet2)] [!code-vb[Performance#PerformanceSnippet2](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/Performance/visualbasic/window1.xaml.vb#performancesnippet2)] - [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] には、 オブジェクトの イベントに対するイベント ハンドラーが既定で用意されており、それを使用して オブジェクトの プロパティを無効にすることができます。 この場合、 では、 イベントを発生させる必要が生じるたびに、各 のコールバック関数を呼び出す必要があります。このコールバック関数の呼び出しが積み重なると、パフォーマンスが大幅に低下します。 さらに、この時点でハンドラーを追加または削除すると、アプリケーションでリスト全体を検査しなければならなくなるため、パフォーマンスに大きく影響します。 アプリケーションのシナリオで が変更されることがない場合は、 イベント ハンドラーの維持に無駄な負荷を費やすことになります。 + 既定では、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]のイベント ハンドラーを提供、オブジェクトのイベントが無効にするために、オブジェクトのプロパティです。 たびにこの例では、が起動がそのイベントごとにコールバック関数を呼び出す必要は— 蓄積されるこれらのコールバック関数の呼び出しの大幅なパフォーマンス ペナルティを適用します。 さらに、この時点でハンドラーを追加または削除すると、アプリケーションでリスト全体を検査しなければならなくなるため、パフォーマンスに大きく影響します。 アプリケーションのシナリオは決して変化している場合、 、維持するためのコストを支払うイベント ハンドラーが不必要にします。 - を固定すると、変更通知の維持にリソースを費やす必要がなくなるため、パフォーマンスが向上します。 次の表は、単純な について、 プロパティを `true` に設定した場合とそうでない場合のサイズの比較を示しています。 ここでは、10 の オブジェクトの プロパティに 1 つのブラシを適用する場合を想定しています。 + 固定すること、変更通知を維持することにリソースを展開する必要がなくなったため、パフォーマンスを向上させることができます。 次の表は、単純なのサイズを示しますときにそのプロパティに設定されている`true`にない場合に比べて、します。 これは 1 つのブラシを適用することを前提としています、 10 プロパティオブジェクト。 -|**状態**|**サイズ**| -|------------|-------------| -|固定された |212 バイト| -|固定されていない |972 バイト| +|**状態**|**Size**| +|---------------|--------------| +|固定されています。|212 バイト| +|固定されていません。|972 バイト| この概念の例を次のコード サンプルに示します。 [!code-csharp[Performance#PerformanceSnippet3](../../../../samples/snippets/csharp/VS_Snippets_Wpf/Performance/CSharp/Window1.xaml.cs#performancesnippet3)] [!code-vb[Performance#PerformanceSnippet3](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/Performance/visualbasic/window1.xaml.vb#performancesnippet3)] -### 固定されていない Freezable の Changed ハンドラーによってオブジェクトが維持される可能性がある - オブジェクトの イベントにオブジェクトが渡すデリゲートは、事実上そのオブジェクトへの参照です。 このため、 イベント ハンドラーによってオブジェクトが本来より長く維持される可能性があります。 オブジェクトの イベントをリッスンするように登録されているオブジェクトのクリーンアップを実行するときには、オブジェクトを解放する前にそのデリゲートを削除することが重要です。 +### 固定されていない Freezable の Changed ハンドラーによってオブジェクトが維持される可能性がある + オブジェクトに渡すデリゲート、オブジェクトのイベントは、そのオブジェクトへの参照では実質的にします。 したがって、イベント ハンドラーが維持オブジェクト予想以上に長くします。 リッスンするように登録されているオブジェクトのクリーンアップを実行するときに、オブジェクトのイベントがオブジェクトを解放する前にそのデリゲートを削除するために不可欠です。 - [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] では、 イベントが内部でもフックされます。 たとえば、 を値として受け取るすべての[依存関係プロパティ](GTMT)は、自動的に イベントをリッスンします。 この概念の例として、 を受け取る プロパティを次に示します。 + [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]フックイベント内部でします。 実行するすべての依存関係プロパティなど、値がリッスンするようイベントに自動的にします。 プロパティを、この概念を説明します。 [!code-csharp[Performance#PerformanceSnippet4](../../../../samples/snippets/csharp/VS_Snippets_Wpf/Performance/CSharp/Window1.xaml.cs#performancesnippet4)] [!code-vb[Performance#PerformanceSnippet4](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/Performance/visualbasic/window1.xaml.vb#performancesnippet4)] - `myRectangle.Fill` に `myBrush` を割り当てると、その オブジェクトを指すデリゲートが オブジェクトの イベントに追加されます。 このため、次のコードを使用しても、`myRect` は実際にはガベージ コレクションの対象にはなりません。 + 代入時に`myBrush`に`myRectangle.Fill`を指す委任、オブジェクトに追加されます、オブジェクトのイベント。 このため、次のコードを使用しても、`myRect` は実際にはガベージ コレクションの対象にはなりません。 [!code-csharp[Performance#PerformanceSnippet5](../../../../samples/snippets/csharp/VS_Snippets_Wpf/Performance/CSharp/Window1.xaml.cs#performancesnippet5)] [!code-vb[Performance#PerformanceSnippet5](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/Performance/visualbasic/window1.xaml.vb#performancesnippet5)] - この場合、`myBrush` は `myRectangle` を引き続き維持し、それを イベントを発生させるときにコールバックします。 `myBrush` を新しい プロパティに割り当てても、`myBrush` にイベント ハンドラーがさらに追加されるだけです。 + ここでは`myBrush`も保持し`myRectangle`アライブはコールバックを起動したときに、そのイベント。 割り当てることに注意してください`myBrush`をプロパティの新しいを別のイベント ハンドラーを単純に追加されます`myBrush`です。 - この種のオブジェクトをクリーンアップするための推奨される方法としては、 プロパティから を削除します。これにより、 イベント ハンドラーも削除されます。 + 削除するのには、これらの種類のオブジェクトをクリーンアップすることをお勧め、から、順番を削除するには、プロパティ、イベント ハンドラー。 [!code-csharp[Performance#PerformanceSnippet6](../../../../samples/snippets/csharp/VS_Snippets_Wpf/Performance/CSharp/Window1.xaml.cs#performancesnippet6)] [!code-vb[Performance#PerformanceSnippet6](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/Performance/visualbasic/window1.xaml.vb#performancesnippet6)] -## ユーザー インターフェイスの仮想化 - [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] もデータ バインド子コンテンツを自動的に "仮想化する" 要素のバリエーションを提供します。 ここで、"仮想化" は、どの項目を画面に表示するかに基づいて、オブジェクトのサブセットを多数のデータ項目から生成する手法を指します。 特定の時間に画面に UI 要素が少ししか表示されていない場合に多数の UI 要素を生成すると、メモリおよびプロセッサの両方に負荷がかかります。 は、 で提供される機能を通じて、表示される項目を計算し、 \( など\) の と共に機能することで、表示される項目に対応する要素だけを作成します。 +## ユーザー インターフェイスの仮想化 + [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]バリエーションも提供、自動的に「は、仮想化」のデータ バインドされた子コンテンツ要素。 ここで、"仮想化" は、どの項目を画面に表示するかに基づいて、オブジェクトのサブセットを多数のデータ項目から生成する手法を指します。 特定の時間に画面に UI 要素が少ししか表示されていない場合に多数の UI 要素を生成すると、メモリおよびプロセッサの両方に負荷がかかります。 (によって提供される機能を通じて) 表示されている項目を計算し、連携、から、 (などまたは) のみ表示される項目の要素を作成します。 - パフォーマンスの最適化の一環として、これらの項目のビジュアル オブジェクトは、画面に表示される場合にのみ生成または維持されます。 既にコントロールの表示可能領域にないビジュアル オブジェクトは削除される可能性があります。 これをデータの仮想化と混同しないようにしてください。データの仮想化では、すべてのデータ オブジェクトがローカル コレクションに存在するのではなく、データ オブジェクトが必要に応じてストリームされます。 + パフォーマンスの最適化の一環として、これらの項目のビジュアル オブジェクトは、画面に表示される場合にのみ生成または維持されます。 既にコントロールの表示可能領域にないビジュアル オブジェクトは削除される可能性があります。 これをデータの仮想化と混同しないようにしてください。データの仮想化では、すべてのデータ オブジェクトがローカル コレクションに存在するのではなく、データ オブジェクトが必要に応じてストリームされます。 - 次の表は、5000 の 要素を に追加して描画した場合の経過時間を示しています。 このシナリオの測定値は、テキスト文字列を オブジェクトの プロパティに割り当ててから、パネル要素にそのテキスト文字列が表示されるまでの時間を表します。 + 次の表は、追加して、5000 のレンダリングの経過時間を示します要素をです。 このシナリオでは、測定値を表すテキスト文字列をアタッチするまでの時間、のプロパティ、 panel 要素が、テキスト文字列を表示するときにオブジェクト。 -|**ホスト パネル**|**レンダリング時間 \(ミリ秒\)**| -|-----------------|--------------------------| +|**ホスト パネル**|**レンダリング時間 (ミリ秒)**| +|--------------------|----------------------------| ||3210| ||46| -## 参照 - [WPF アプリケーションのパフォーマンスの最適化](../../../../docs/framework/wpf/advanced/optimizing-wpf-application-performance.md) - [アプリケーション パフォーマンスの計画](../../../../docs/framework/wpf/advanced/planning-for-application-performance.md) - [ハードウェアの活用](../../../../docs/framework/wpf/advanced/optimizing-performance-taking-advantage-of-hardware.md) - [レイアウトとデザイン](../../../../docs/framework/wpf/advanced/optimizing-performance-layout-and-design.md) - [2D グラフィックスとイメージング](../../../../docs/framework/wpf/advanced/optimizing-performance-2d-graphics-and-imaging.md) - [アプリケーション リソース](../../../../docs/framework/wpf/advanced/optimizing-performance-application-resources.md) - [テキスト](../../../../docs/framework/wpf/advanced/optimizing-performance-text.md) - [データ バインド](../../../../docs/framework/wpf/advanced/optimizing-performance-data-binding.md) - [パフォーマンスに関するその他の推奨事項](../../../../docs/framework/wpf/advanced/optimizing-performance-other-recommendations.md) \ No newline at end of file +## 関連項目 + [WPF アプリケーションのパフォーマンスの最適化](../../../../docs/framework/wpf/advanced/optimizing-wpf-application-performance.md) + [アプリケーション パフォーマンスの計画](../../../../docs/framework/wpf/advanced/planning-for-application-performance.md) + [ハードウェアの活用](../../../../docs/framework/wpf/advanced/optimizing-performance-taking-advantage-of-hardware.md) + [レイアウトとデザイン](../../../../docs/framework/wpf/advanced/optimizing-performance-layout-and-design.md) + [2D グラフィックスとイメージング](../../../../docs/framework/wpf/advanced/optimizing-performance-2d-graphics-and-imaging.md) + [アプリケーション リソース](../../../../docs/framework/wpf/advanced/optimizing-performance-application-resources.md) + [テキスト](../../../../docs/framework/wpf/advanced/optimizing-performance-text.md) + [データ バインディング](../../../../docs/framework/wpf/advanced/optimizing-performance-data-binding.md) + [パフォーマンスに関するその他の推奨事項](../../../../docs/framework/wpf/advanced/optimizing-performance-other-recommendations.md) diff --git a/docs/framework/wpf/advanced/optimizing-performance-other-recommendations.md b/docs/framework/wpf/advanced/optimizing-performance-other-recommendations.md index 4328b8dc08e..fec641678b2 100644 --- a/docs/framework/wpf/advanced/optimizing-performance-other-recommendations.md +++ b/docs/framework/wpf/advanced/optimizing-performance-other-recommendations.md @@ -1,29 +1,35 @@ ---- -title: "パフォーマンスの最適化 : その他の推奨事項 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "ブラシ, パフォーマンス" - - "ヒットテスト (オブジェクトの) [WPF]" - - "不透明" - - "ScrollBarVisibility 列挙体" - - "ターミナル サービスのレンダリング" +--- +title: "パフォーマンスの最適化 : その他の推奨事項" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- Terminal Services rendering [WPF] +- opacity [WPF] +- hit-test objects [WPF] +- ScrollBarVisibility enumeration [WPF] +- brushes [WPF], performance ms.assetid: d028cc65-7e97-4a4f-9859-929734eaf40d -caps.latest.revision: 20 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 19 ---- -# パフォーマンスの最適化 : その他の推奨事項 - このトピックでは、「[WPF アプリケーションのパフォーマンスの最適化](../../../../docs/framework/wpf/advanced/optimizing-wpf-application-performance.md)」のトピックで説明されている推奨事項を補足するパフォーマンスに関する推奨事項について説明します。 +caps.latest.revision: "20" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: eda112db6dd977b6ef25a1b3a9ae40349d3a045f +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# パフォーマンスの最適化 : その他の推奨事項 + このトピックでは、「[WPF アプリケーションのパフォーマンスの最適化](../../../../docs/framework/wpf/advanced/optimizing-wpf-application-performance.md)」セクションのトピックで説明されている推奨事項を補足するパフォーマンスに関する推奨事項について取り上げます。 このトピックは、次のセクションで構成されています。 @@ -35,54 +41,54 @@ caps.handback.revision: 19 - [CompositionTarget.Rendering イベント](#CompositionTarget_Rendering_Event) -- [ScrollBarVisibility\=Auto は使用しない](#Avoid_Using_ScrollBarVisibility) +- [ScrollBarVisibility=Auto は使用しない](#Avoid_Using_ScrollBarVisibility) - [Font Cache サービスの構成による起動時間の短縮](#FontCache) -## ブラシの Opacity と要素の Opacity - を使用して要素の を設定するときには、要素の プロパティを設定するより 値を設定することをお勧めします。 要素の プロパティを変更すると、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] によって一時的なサーフェイスが作成される可能性があります。 +## ブラシの Opacity と要素の Opacity + 使用すると、を設定する、または、要素のことをお勧めを設定する、値の設定ではなく、要素のプロパティです。 要素の変更プロパティが生成されることができます[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]を一時的な画面を作成します。 -## オブジェクトへの移動 - オブジェクトは から派生し、コンテンツ ナビゲーションのサポートでウィンドウを拡張します。この拡張は、主に と履歴を統合することによって行われます。 のクライアント領域は、[!INCLUDE[TLA#tla_uri](../../../../includes/tlasharptla-uri-md.md)] またはオブジェクトを指定することによって更新できます。 この両方の方法を次のサンプルに示します。 +## オブジェクトへの移動 + から派生したオブジェクトおよび集計することによって、主に、コンテンツ ナビゲーションのサポートを備えた拡張およびジャーナルです。 クライアント領域を更新するいずれかを指定することによって、[!INCLUDE[TLA#tla_uri](../../../../includes/tlasharptla-uri-md.md)]またはオブジェクト。 この両方の方法を次のサンプルに示します。 - [!code-csharp[Performance#PerformanceSnippet14](../../../../samples/snippets/csharp/VS_Snippets_Wpf/Performance/CSharp/TestNavigation.xaml.cs#performancesnippet14)] + [!code-csharp[Performance#PerformanceSnippet14](../../../../samples/snippets/csharp/VS_Snippets_Wpf/Performance/CSharp/TestNavigation.xaml.cs#performancesnippet14)] [!code-vb[Performance#PerformanceSnippet14](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/Performance/visualbasic/testnavigation.xaml.vb#performancesnippet14)] - 各 オブジェクトには、そのウィンドウのユーザーのナビゲーションを記録する履歴があります。 履歴の目的の 1 つは、ユーザーが自分の来た道を戻れるようにすることです。 + 各オブジェクトには、journal ウィンドウで、ユーザーのナビゲーション履歴を記録します。 履歴の目的の 1 つは、ユーザーが自分の来た道を戻れるようにすることです。 - [!INCLUDE[TLA#tla_uri](../../../../includes/tlasharptla-uri-md.md)] を使用して移動した場合、履歴には [!INCLUDE[TLA#tla_uri](../../../../includes/tlasharptla-uri-md.md)] の参照のみが格納されます。 したがって、ページに戻るたびにそのページが動的に再構築されることになり、ページの複雑さによってはかなりの時間がかかることもあります。 この場合、履歴の格納の負荷は低い反面、ページの再構築にかかる時間が長くなる可能性があります。 + [!INCLUDE[TLA#tla_uri](../../../../includes/tlasharptla-uri-md.md)] を使用して移動した場合、履歴には [!INCLUDE[TLA#tla_uri](../../../../includes/tlasharptla-uri-md.md)] の参照のみが格納されます。 したがって、ページに戻るたびにそのページが動的に再構築されることになり、ページの複雑さによってはかなりの時間がかかることもあります。 この場合、履歴の格納の負荷は低い反面、ページの再構築にかかる時間が長くなる可能性があります。 - オブジェクトを使用して移動した場合は、オブジェクトのビジュアル ツリー全体が履歴に格納されます。 したがって、ページに戻るたびにページを再構築する必要はなく、ページがすぐに描画されます。 この場合、履歴の格納の負荷は高くなりますが、ページの再構築にかかる時間は短くて済みます。 + オブジェクトを使用して移動した場合は、オブジェクトのビジュアル ツリー全体が履歴に格納されます。 したがって、ページに戻るたびにページを再構築する必要はなく、ページがすぐに描画されます。 この場合、履歴の格納の負荷は高くなりますが、ページの再構築にかかる時間は短くて済みます。 - オブジェクトを使用するときには、履歴のサポートがアプリケーションのパフォーマンスにどのように影響するのかを念頭に置いておく必要があります。 詳細については、「[ナビゲーションの概要](../../../../docs/framework/wpf/app-development/navigation-overview.md)」を参照してください。 + 使用すると、オブジェクト、ジャーナリング サポートと、アプリケーションのパフォーマンスがどのように影響しているか注意する必要があります。 詳細については、「[ナビゲーションの概要](../../../../docs/framework/wpf/app-development/navigation-overview.md)」を参照してください。 -## 大きな 3D サーフェイスのヒット テスト - 大きな 3D サーフェイスのヒット テストは、CPU 消費の面でパフォーマンスへの影響が非常に大きくなります。 3D サーフェイスがアニメーション化されている場合には特にその傾向が強くなります。 そのようなサーフェイスでヒット テストを行う必要がない場合は、ヒット テストを無効にしてください。 から派生したオブジェクトでは、 プロパティを `false` に設定することによってヒット テストを無効にできます。 +## 大きな 3D サーフェイスのヒット テスト + 大きな 3D サーフェイスのヒット テストは、CPU 消費の面でパフォーマンスへの影響が非常に大きくなります。 3D サーフェイスがアニメーション化されている場合には特にその傾向が強くなります。 そのようなサーフェイスでヒット テストを行う必要がない場合は、ヒット テストを無効にしてください。 派生したオブジェクトできます無効にするヒット テストの設定によって、プロパティを`false`です。 -## CompositionTarget.Rendering イベント - イベントは、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] を常にアニメーション化します。 このイベントを使用する場合は、毎回デタッチしてください。 +## CompositionTarget.Rendering イベント + イベントにより[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]継続的にアニメーション化します。 このイベントを使用する場合は、毎回デタッチしてください。 -## ScrollBarVisibility\=Auto は使用しない - できる限り、 値を `HorizontalScrollBarVisibility` プロパティと `VerticalScrollBarVisibility` プロパティでは使用しないでください。 これらのプロパティは、 の各オブジェクトで定義されています。 代わりに、、または に設定します。 +## ScrollBarVisibility=Auto は使用しない + 可能な限り回避を使用して、値を`HorizontalScrollBarVisibility`と`VerticalScrollBarVisibility`プロパティです。 これらのプロパティが定義されている、およびオブジェクトとの添付プロパティとして、オブジェクト。 代わりに、設定、またはです。 - 値は、スペースが限られていて、スクロール バーを必要なときにだけ表示する場合に使用するための値です。 値の使用は、たとえば、数百行のテキストを含む ではなく、30 の項目を含む で役に立ちます。 + 値は、ケースの空き領域が少ないと、スクロール バーは、必要な場合にのみ表示されます。 たとえば、ある可能性がありますを使用してこの値と、はなく 30 の項目の何百もの行のテキスト。 -## Font Cache サービスの構成による起動時間の短縮 - [!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] Font Cache サービスは、[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] アプリケーション間でフォント データを共有します。 このサービスがまだ実行されていない場合は、実行する最初の [!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] アプリケーションによって開始されます。 [!INCLUDE[TLA#tla_winvista](../../../../includes/tlasharptla-winvista-md.md)] を使用している場合は、\[[!INCLUDE[TLA#tla_wpf](../../../../includes/tlasharptla-wpf-md.md)] Font Cache 3.0.0.0\] サービスの設定を \[手動\] \(既定\) から \[自動 \(遅延開始\)\] に変更することで、[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] アプリケーションの最初の起動時間を短縮できます。 - -## 参照 - [アプリケーション パフォーマンスの計画](../../../../docs/framework/wpf/advanced/planning-for-application-performance.md) - [ハードウェアの活用](../../../../docs/framework/wpf/advanced/optimizing-performance-taking-advantage-of-hardware.md) - [レイアウトとデザイン](../../../../docs/framework/wpf/advanced/optimizing-performance-layout-and-design.md) - [2D グラフィックスとイメージング](../../../../docs/framework/wpf/advanced/optimizing-performance-2d-graphics-and-imaging.md) - [オブジェクトの動作](../../../../docs/framework/wpf/advanced/optimizing-performance-object-behavior.md) - [アプリケーション リソース](../../../../docs/framework/wpf/advanced/optimizing-performance-application-resources.md) - [テキスト](../../../../docs/framework/wpf/advanced/optimizing-performance-text.md) - [データ バインド](../../../../docs/framework/wpf/advanced/optimizing-performance-data-binding.md) - [アニメーションのヒントとテクニック](../../../../docs/framework/wpf/graphics-multimedia/animation-tips-and-tricks.md) \ No newline at end of file +## Font Cache サービスの構成による起動時間の短縮 + [!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] Font Cache サービスは、[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] アプリケーション間でフォント データを共有します。 このサービスがまだ実行されていない場合は、実行する最初の [!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] アプリケーションによって開始されます。 [!INCLUDE[TLA#tla_winvista](../../../../includes/tlasharptla-winvista-md.md)] を使用している場合は、[[!INCLUDE[TLA#tla_wpf](../../../../includes/tlasharptla-wpf-md.md)] Font Cache 3.0.0.0] サービスの設定を [手動] (既定) から [自動 (遅延開始)] に変更することで、[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] アプリケーションの最初の起動時間を短縮できます。 + +## 関連項目 + [アプリケーション パフォーマンスの計画](../../../../docs/framework/wpf/advanced/planning-for-application-performance.md) + [ハードウェアの活用](../../../../docs/framework/wpf/advanced/optimizing-performance-taking-advantage-of-hardware.md) + [レイアウトとデザイン](../../../../docs/framework/wpf/advanced/optimizing-performance-layout-and-design.md) + [2D グラフィックスとイメージング](../../../../docs/framework/wpf/advanced/optimizing-performance-2d-graphics-and-imaging.md) + [オブジェクトの動作](../../../../docs/framework/wpf/advanced/optimizing-performance-object-behavior.md) + [アプリケーション リソース](../../../../docs/framework/wpf/advanced/optimizing-performance-application-resources.md) + [テキスト](../../../../docs/framework/wpf/advanced/optimizing-performance-text.md) + [データ バインディング](../../../../docs/framework/wpf/advanced/optimizing-performance-data-binding.md) + [アニメーションのヒントとテクニック](../../../../docs/framework/wpf/graphics-multimedia/animation-tips-and-tricks.md) diff --git a/docs/framework/wpf/advanced/read-only-dependency-properties.md b/docs/framework/wpf/advanced/read-only-dependency-properties.md index 119c5d6ed7d..b0997fd75fd 100644 --- a/docs/framework/wpf/advanced/read-only-dependency-properties.md +++ b/docs/framework/wpf/advanced/read-only-dependency-properties.md @@ -1,56 +1,59 @@ --- -title: "読み取り専用の依存関係プロパティ | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "依存関係プロパティ, 読み取り専用" - - "読み取り専用の依存関係プロパティ" -ms.assetid: f23d6ec9-3780-4c09-a2ff-b2f0a2deddf1 -caps.latest.revision: 8 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 7 +title: "読み取り専用の依存関係プロパティ" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- dependency properties [WPF], read-only +- read-only dependency properties [WPF] +ms.assetid: f23d6ec9-3780-4c09-a2ff-b2f0a2deddf1 +caps.latest.revision: "8" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 9cb4477fe388c294bbd6b87589d5a3108a90d27f +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 --- -# 読み取り専用の依存関係プロパティ -ここでは、既存の読み取り専用依存関係プロパティ、カスタムの読み取り専用依存関係プロパティを作成するシナリオと手法など、読み取り専用依存関係プロパティについて説明します。 +# 読み取り専用の依存関係プロパティ +このトピックでは、既存の読み取り専用の依存関係プロパティ、カスタムの読み取り専用の依存関係プロパティを作成するシナリオと手法など、読み取り専用の依存関係プロパティについて説明します。 - + -## 必要条件 - このトピックでは、依存プロパティの実装の基本シナリオとカスタム依存プロパティへのメタデータの適用方法を理解していることを前提とします。 詳細については、「[カスタム依存関係プロパティ](../../../../docs/framework/wpf/advanced/custom-dependency-properties.md)」および「[依存関係プロパティのメタデータ](../../../../docs/framework/wpf/advanced/dependency-property-metadata.md)」を参照してください。 +## 必須コンポーネント + このトピックでは、依存関係プロパティの実装の基本シナリオとカスタム依存関係プロパティへのメタデータの適用方法を理解していることを前提とします。 詳細については、「[カスタム依存関係プロパティ](../../../../docs/framework/wpf/advanced/custom-dependency-properties.md)」および「[依存関係プロパティのメタデータ](../../../../docs/framework/wpf/advanced/dependency-property-metadata.md)」を参照してください。 -## 既存の読み取り専用依存関係プロパティ - [!INCLUDE[TLA#tla_winclient](../../../../includes/tlasharptla-winclient-md.md)] フレームワークで定義されている依存関係プロパティの一部は読み取り専用です。 読み取り専用依存関係プロパティを指定する一般的な理由は、状態決定に使用する必要のあるプロパティがあるけれども、その状態は多くの要因から影響を受け、プロパティをその状態に設定するだけでは、ユーザー インターフェイス設計の観点から望ましくないためです。 たとえば、 プロパティは、実際にはマウス入力から決定される単なるサーフェイス状態です。 実際にマウス入力を行わずにプログラムでこの値を設定しようとすると、結果は予想できず、不整合が発生する可能性があります。 +## 既存の読み取り専用の依存関係プロパティ + [!INCLUDE[TLA#tla_winclient](../../../../includes/tlasharptla-winclient-md.md)] フレームワークで定義されている依存関係プロパティの一部は読み取り専用です。 読み取り専用の依存関係プロパティを指定する一般的な理由は、それらが状態決定に使用されるプロパティであるにも関わらず、その状態は多くの要因の影響を受け、プロパティをその状態に設定するだけではユーザー インターフェイス設計の観点から望ましくないことにあります。 たとえば、このプロパティマウス入力から決定された状態の表示が実際には。 実際にマウス入力を行わずにプログラムでこの値を設定しようとすると、予期しない結果になり、不整合が生じる原因になります。 - 設定可能ではないため、読み取り専用の依存関係プロパティは、依存関係プロパティがソリューションを通常提供するシナリオの多くには適切ではありません \(データ バインディング、直接スタイル設定可能な値、検証、アニメーション、継承など\)。 それでも、設定不可能な読み取り専用依存関係プロパティには、プロパティ システムの依存関係プロパティによってサポートされるいくつかの追加機能があります。 最も重要な機能は、読み取り専用依存関係プロパティはスタイルのプロパティ トリガーとして使用できることです。 通常の [!INCLUDE[TLA#tla_clr](../../../../includes/tlasharptla-clr-md.md)] プロパティではトリガーを有効にできません。依存関係プロパティであることが必要です。 上で挙げた プロパティは、コントロールのスタイルを定義するために便利なシナリオのよい例です。背景、前景、またはコントロール内の複合要素の同種のプロパティなどの一部の表示プロパティは、コントロールの定義済み領域にユーザーがマウスを置くと変化します。 読み取り専用依存関係プロパティの変化は、プロパティ システム固有の検証プロセスによって検出して報告することもでき、これは実際にはプロパティ トリガー機能を内部的にサポートします。 + 設定可能ではないため、読み取り専用の依存関係プロパティは、依存関係プロパティがソリューションを通常提供するシナリオの多くには適切ではありません (データ バインディング、直接スタイル設定可能な値、検証、アニメーション、継承など)。 それでも、設定不可能な読み取り専用依存関係プロパティには、プロパティ システムの依存関係プロパティによってサポートされるいくつかの追加機能があります。 その他の機能のうち最も重要なのは、読み取り専用の依存関係プロパティはスタイルのプロパティ トリガーとして使用できることです。 通常の [!INCLUDE[TLA#tla_clr](../../../../includes/tlasharptla-clr-md.md)] プロパティではトリガーを有効にできません。依存関係プロパティであることが必要です。 前述プロパティ場合がありますをいくつかのコントロールのスタイルを定義するのには、非常に役にシナリオの完全な例は、背景、前景、内の合成要素のようなプロパティなどの visible プロパティ、ユーザーがコントロールのいくつかの定義済みの領域の上にマウスを置いたときに、コントロールが変更されます。 読み取り専用の依存関係プロパティの変化は、プロパティ システム固有の無効化プロセスによって検出して報告することもでき、これは実際にはプロパティ トリガー機能を内部的にサポートします。 -## 読み取り専用のカスタム依存プロパティの作成 - 多くの一般的な依存関係プロパティのシナリオで読み取り専用依存関係プロパティが機能しない理由に関する前のセクションを参照してください。 ただし、適切なシナリオがある場合は、独自の読み取り専用依存関係プロパティを作成してもかまいません。 +## 読み取り専用のカスタム依存関係プロパティの作成 + 多くの一般的な依存関係プロパティのシナリオで読み取り専用依存関係プロパティが機能しない理由に関する前のセクションを参照してください。 ただし、適切なシナリオがある場合は、独自の読み取り専用依存関係プロパティを作成してもかまいません。 - 読み取り専用依存関係プロパティを作成するプロセスのほとんどは、「[カスタム依存関係プロパティ](../../../../docs/framework/wpf/advanced/custom-dependency-properties.md)」および「[依存関係プロパティを実装する](../../../../docs/framework/wpf/advanced/how-to-implement-a-dependency-property.md)」の説明と同じです。 ただし、次の 3 つの重要な違いがあります。 + 読み取り専用の依存関係プロパティを作成するプロセスの大部分は、「[カスタム依存関係プロパティ](../../../../docs/framework/wpf/advanced/custom-dependency-properties.md)」と「[依存関係プロパティの実装](../../../../docs/framework/wpf/advanced/how-to-implement-a-dependency-property.md)」のトピックの説明と同じです。 ただし、次の 3 つの重要な違いがあります。 -- プロパティを登録するときは、プロパティ登録用の通常の メソッドではなく、 メソッドを呼び出します。 +- プロパティを登録するときに呼び出す、メソッド、標準ではなくプロパティの登録の方法です。 - [!INCLUDE[TLA2#tla_clr](../../../../includes/tla2sharptla-clr-md.md)] の "ラッパー" プロパティを実装するときは、ラッパーにも set 実装をしないようにして、公開するパブリック ラッパーの読み取り専用状態が矛盾しないようにする必要があります。 -- 読み取り専用の登録によって返されるオブジェクトは、 ではなく です。 やはりこのフィールドをメンバーとして格納する必要がありますが、通常は、型のパブリック メンバーにはしません。 +- 読み取り専用登録によって返されるオブジェクトはなくです。 やはりこのフィールドをメンバーとして格納する必要がありますが、通常は、型のパブリック メンバーにはしません。 - 読み取り専用依存関係プロパティを補足するために使用するプライベートのフィールドまたは値はすべて、適当なロジックを使用して完全に書き込み可能にしてかまいません。 ただし、初期化で、またはランタイム ロジックの一部として、プロパティを設定する最も簡単な方法は、プロパティ システムを使用しないでプライベートな補足フィールドを直接設定するのではなく、プロパティ システムの [!INCLUDE[TLA2#tla_api#plural](../../../../includes/tla2sharptla-apisharpplural-md.md)] を使用する方法です。 具体的には、 型のパラメーターを受け取る のシグネチャがあります。 アプリケーション ロジック内でプログラムによってこの値を設定する方法と場所により、依存関係プロパティを最初に登録したときに作成される に対するアクセスの設定方法が影響を受けます。 このロジックすべてをクラス内で処理する場合はプライベートにでき、アセンブリの他の部分から設定する必要がある場合は内部に設定します。 1 つの方法は、格納されているプロパティ値の変更が必要であることをクラスのインスタンスに通知する関連イベントのクラス イベント ハンドラー内で、 を呼び出すというものです。 もう 1 つの方法は、登録の際にプロパティのメタデータの一部として、ペアになった コールバックと コールバックを使用して、依存関係プロパティを結び付けるというものです。 + 読み取り専用の依存関係プロパティを補足するために使用するプライベートのフィールドまたは値はすべて、適当なロジックを使用して完全に書き込み可能にしてかまいません。 ただし、初期化で、またはランタイム ロジックの一部として、プロパティを設定する最も簡単な方法は、プロパティ システムを使用しないでプライベートなバッキング フィールドを直接設定するのではなく、プロパティ システムの [!INCLUDE[TLA2#tla_api#plural](../../../../includes/tla2sharptla-apisharpplural-md.md)] を使用する方法です。 具体的には、署名がある型のパラメーターを受け入れるです。 この値、アプリケーション ロジック内で、プログラムによって設定方法と場所に影響を与える方法に対してアクセスを設定する場合、依存関係プロパティを最初に登録するときに作成します。 このロジックすべてをクラス内で処理する場合はプライベートにでき、アセンブリの他の部分から設定する必要がある場合は内部に設定します。 呼び出す方法の 1 つは、ストアド プロパティの値が変更する必要があるクラスのインスタンスに通知する関連イベントのクラスのイベント ハンドラー内で。 別のアプローチがペアリングを使用して、依存関係プロパティを結び、登録時にこれらのプロパティのメタデータの一部としてコールバック。 - はプライベートであり、コードの外部のプロパティ システムによっては伝達されないので、読み取り専用依存関係プロパティの方が、読み取り\/書き込み依存関係プロパティより設定のセキュリティが優れています。 読み取り\/書き込み依存関係プロパティの場合は、識別するフィールドは明示的または暗黙的にパブリックであり、したがってプロパティは広範に設定可能です。 詳細については、「[依存関係プロパティのセキュリティ](../../../../docs/framework/wpf/advanced/dependency-property-security.md)」を参照してください。 + はプライベートであるとは反映されませんプロパティで、システムによって、コードの外部で、読み取り専用の依存関係プロパティがより読み取り/書き込みの依存関係プロパティよりもセキュリティを設定します。 読み取り/書き込み依存関係プロパティの場合は、識別するフィールドは明示的または暗黙的にパブリックであり、したがってプロパティは広範に設定可能です。 詳細については、「[依存関係プロパティのセキュリティ](../../../../docs/framework/wpf/advanced/dependency-property-security.md)」を参照してください。 -## 参照 - [依存関係プロパティの概要](../../../../docs/framework/wpf/advanced/dependency-properties-overview.md) - [カスタム依存関係プロパティ](../../../../docs/framework/wpf/advanced/custom-dependency-properties.md) - [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) \ No newline at end of file +## 関連項目 + [依存関係プロパティの概要](../../../../docs/framework/wpf/advanced/dependency-properties-overview.md) + [カスタム依存関係プロパティ](../../../../docs/framework/wpf/advanced/custom-dependency-properties.md) + [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) diff --git a/docs/framework/wpf/advanced/relativesource-markupextension.md b/docs/framework/wpf/advanced/relativesource-markupextension.md index f3bc8868b20..b601625d5c3 100644 --- a/docs/framework/wpf/advanced/relativesource-markupextension.md +++ b/docs/framework/wpf/advanced/relativesource-markupextension.md @@ -1,47 +1,49 @@ ---- -title: "RelativeSource のマークアップ拡張機能 | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -f1_keywords: - - "RelativeSource" -helpviewer_keywords: - - "RelativeSource のマークアップ拡張機能" - - "XAML, RelativeSource マークアップ拡張機能" +--- +title: "RelativeSource のマークアップ拡張機能" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +f1_keywords: RelativeSource +helpviewer_keywords: +- RelativeSource markup extensions [WPF] +- XAML [WPF], RelativeSource markup extension ms.assetid: 26be4721-49b5-4717-a92e-7d54ad0d3a81 -caps.latest.revision: 18 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 18 ---- -# RelativeSource のマークアップ拡張機能 -[バインドのマークアップ拡張機能](../../../../docs/framework/wpf/advanced/binding-markup-extension.md)内で使用されるか、または XAML で設定された 要素の プロパティの設定時に使用される、 バインディング ソースのプロパティを指定します。 - -## XAML 属性の使用方法 - -``` - +caps.latest.revision: "18" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 41978e7b91c50b33649bd88e23d22fce7a272c5b +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# RelativeSource のマークアップ拡張機能 +プロパティを指定します、内で使用する、バインド データ ソース、[バインディング マークアップ拡張](../../../../docs/framework/wpf/advanced/binding-markup-extension.md)を設定する場合や、のプロパティ、 XAML で確立されている要素です。 + +## XAML 属性の使用方法 + +```xml + ``` -## XAML 属性の使用方法 \(バインディング拡張内で入れ子にした場合\) +## XAML 属性の使用方法 (バインディング拡張内で入れ子にした場合) -``` - +```xml + ``` -## XAML オブジェクト要素の使用方法 +## XAML オブジェクト要素の使用方法 -``` +```xml - + - or @@ -49,42 +51,42 @@ caps.handback.revision: 18 ``` -## XAML 値 +## XAML 値 ||| |-|-| -|`modeEnumValue`|次のいずれかになります。

- 文字列トークン `Self`。 に対応し、 プロパティは に設定されます。
- 文字列トークン `TemplatedParent`。 に対応し、 プロパティは に設定されます。
- 文字列トークン `PreviousData`。 に対応し、 プロパティは に設定されます。
- `FindAncestor` については、以下を参照してください。| -|`FindAncestor`|文字列トークン `FindAncestor`。 このトークンを使用すると、`RelativeSource` によって先祖の型およびオプションで先祖レベルを指定するモードになります。 これは、 プロパティが に設定された状態で作成された に対応します。| -|`typeName`|`FindAncestor` モードで必要です。 プロパティに指定する型の名前。| -|`intLevel`|`FindAncestor` モードのオプションです。 論理ツリー内で親の方向に向けて数えた先祖レベル。| +|`modeEnumValue`|次のいずれかになります。

-文字列トークン`Self`; に対応する、で作成されると、プロパティに設定です。
-文字列トークン`TemplatedParent`; に対応する、で作成されると、プロパティに設定です。
-文字列トークン`PreviousData`; に対応する、で作成されると、プロパティに設定です。
-は後述情報で`FindAncestor`モード。| +|`FindAncestor`|文字列トークン `FindAncestor`。 このトークンを使用すると、`RelativeSource` によって先祖の型およびオプションで先祖レベルを指定するモードになります。 これは、 プロパティが に設定された状態で作成された に対応します。| +|`typeName`|`FindAncestor` モードで必要です。 プロパティに指定する型の名前。| +|`intLevel`|`FindAncestor` モードのオプションです。 論理ツリー内で親の方向に向けて数えた先祖レベル。| -## 解説 - `{RelativeSource TemplatedParent}` バインディングの用法は、コントロールの UI とロジックを分離するという、より大きな構想を解決するための鍵となる手法です。 これによって、テンプレートが適用される親 \(テンプレートが適用されるランタイム オブジェクト インスタンス\) へのバインディングをテンプレート定義内から行うことができます。 この場合、[TemplateBinding のマークアップ拡張機能](../../../../docs/framework/wpf/advanced/templatebinding-markup-extension.md) は、実際には、`{Binding RelativeSource={RelativeSource TemplatedParent}}` というバインディング式を略したものです。 `TemplateBinding` と `{RelativeSource TemplatedParent}` の使用法はどちらも、テンプレートを定義する XAML 内でのみ意味を持ちます。 詳細については、「[TemplateBinding のマークアップ拡張機能](../../../../docs/framework/wpf/advanced/templatebinding-markup-extension.md)」を参照してください。 +## コメント + `{RelativeSource TemplatedParent}`バインディングでの使用は、コントロールの UI とコントロールのロジックの分離のより大きな概念に対応するキーの手法です。 これによって、テンプレートが適用される親 (テンプレートが適用されるランタイム オブジェクト インスタンス) へのバインディングをテンプレート定義内から行うことができます。 この場合の[TemplateBinding マークアップ拡張機能](../../../../docs/framework/wpf/advanced/templatebinding-markup-extension.md)が実際には、次のバインド式の短縮形:`{Binding RelativeSource={RelativeSource TemplatedParent}}`です。 `TemplateBinding`または`{RelativeSource TemplatedParent}`の使用法が両方のテンプレートを定義する XAML 内でのみ関連します。 詳細については、次を参照してください[TemplateBinding マークアップ拡張機能。](../../../../docs/framework/wpf/advanced/templatebinding-markup-extension.md) - `{RelativeSource FindAncestor}` の主な用途は、コントロール テンプレート内または予測可能な独立した UI 合成です。特定の先祖の型のビジュアル ツリー内にコントロールが常に存在することがわかっているケースで使用されます。 たとえば、項目コントロールの各項目は `FindAncestor` を使用して、その項目コントロールの親先祖のプロパティにバインドすることができます。 または、テンプレート内のコントロール合成に参加している要素は、同じ合成体系の親要素に対して `FindAncestor` バインディングを使用できます。 + `{RelativeSource FindAncestor}`場合、特定の先祖の種類のビジュアル ツリー内にあるコントロールが常に必要な場所でコントロール テンプレートまたは予測可能な自己完結型の UI コンポジション、主に使用されます。 たとえば、項目コントロールの各項目は `FindAncestor` を使用して、その項目コントロールの親先祖のプロパティにバインドすることができます。 または、テンプレート内のコントロール合成に参加している要素は、同じ合成体系の親要素に対して `FindAncestor` バインディングを使用できます。 - XAML 構文のセクションに示した `FindAncestor` モードのオブジェクト要素構文では、2 番目のオブジェクト要素構文は `FindAncestor` モード向けに使用されます。 `FindAncestor` モードでは、 値が必要です。 検索する先祖の型への [x:Type マークアップ拡張機能](../../../../docs/framework/xaml-services/x-type-markup-extension.md)参照を使用して、 を属性として設定する必要があります。 値は、実行時にバインディング要求を処理する際に使用されます。 + XAML 構文のセクションに示した `FindAncestor` モードのオブジェクト要素構文では、2 番目のオブジェクト要素構文は `FindAncestor` モード向けに使用されます。 `FindAncestor` モードでは、 値が必要です。 設定する必要がありますを使用して、属性として、 [X:type マークアップ拡張機能](../../../../docs/framework/xaml-services/x-type-markup-extension.md)検索する先祖の型への参照。 値は、実行時にバインディング要求を処理する際に使用されます。 `FindAncestor` モードでは、オプションの プロパティは、要素ツリー内に型の先祖が複数存在する可能性がある場合に、先祖の検索のあいまいさを解消するのに役立ちます。 `FindAncestor` モードの使用方法の詳細については、「」を参照してください。 - `{RelativeSource Self}` は、特定のインスタンスのプロパティが同じインスタンスの別のプロパティの値に依存しており、その 2 つのプロパティ間に通常の依存関係プロパティの関係 \(強制変換など\) が存在しない状況で活用できます。 まったく同じ値、まったく同じ型を持つ 2 つのプロパティが 1 つのオブジェクトに存在することはまれですが、`{RelativeSource Self}` を持つバインディングに `Converter` パラメーターを適用し、そのコンバーターを使用してソースとターゲットの型変換を行うこともできます。 `{RelativeSource Self}` は、 の一部として活用することもできます。 + `{RelativeSource Self}`シナリオに便利ですが、インスタンスの 1 つのプロパティは必要があります、同じインスタンスと一般的な依存関係プロパティ関係がない (強制型変換) などの別のプロパティの値に依存既にこれら 2 つのプロパティの間が存在します。 リテラルと同じです (と同じように型指定された) の値になるようオブジェクトに対して 2 つのプロパティが存在し、適用することもことはまれですが、`Converter`パラメーターになっているバインディングを`{RelativeSource Self}`ソースの間で変換するコンバーターを使用して、対象の種類。 別のシナリオとして`{RelativeSource Self}`の一部として、です。 - たとえば、`` という XAML は、 要素を定義します。 にどのような値が入力されても、 は常に正方形となります。 + たとえば、 という XAML は、 要素を定義します。 にどのような値が入力されても、`` は常に正方形となります。 - `{RelativeSource PreviousData}` は、データ テンプレートで活用できるほか、バインディングにデータ ソースのコレクションを使用する場合にも役立ちます。 `{RelativeSource PreviousData}` を使用すると、コレクション内の隣接するデータ項目どうしの関係に注目することができます。 これと関連して、データ ソース内の現在の項目と直前の項目との間に を確立し、そのバインディング上のコンバーターを使用して、2 つの項目 \(およびそれらのプロパティ\) 間の相違を特定する手法もあります。 + `{RelativeSource PreviousData}`データ テンプレート、またはバインディングを使用しているコレクションのデータ ソースとしての場合に便利です。 使用することができます`{RelativeSource PreviousData}`をコレクション内の連続するデータ項目間のリレーションシップを強調表示します。 これと関連して、データ ソース内の現在の項目と直前の項目との間に を確立し、そのバインディング上のコンバーターを使用して、2 つの項目 (およびそれらのプロパティ) 間の相違を特定する手法もあります。 - 次の例の項目テンプレートに出現する 1 つ目の は、現在の数値を表示します。 2 つ目の バインディングは、 で、通常 2 つの 構成要素を持ちます \(現在のレコードと、`{RelativeSource PreviousData}` を使用して直前のデータ レコードを意図的に使用するバインディング\)。 上のコンバーターが、両者の差を計算し、バインディングに返します。 + 次の例の項目テンプレートに出現する 1 つ目の は、現在の数値を表示します。 2 番目バインディングは、名目上のある 2 つconsistuents: 現在のレコードと前のデータ レコードを使用して、意図的に使用するバインディング`{RelativeSource PreviousData}`です。 上のコンバーターが、両者の差を計算し、バインディングに返します。 -``` +```xml @@ -100,21 +102,21 @@ caps.handback.revision: 18 - + ``` - ここで説明されていないデータ バインディングの概念については、「[データ バインドの概要](../../../../docs/framework/wpf/data/data-binding-overview.md)」を参照してください。 + ここでは、概念が未カバーとしてデータ バインディングを記述するを参照してください[データ バインディングの概要](../../../../docs/framework/wpf/data/data-binding-overview.md)です。 - [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] XAML プロセッサ実装では、このマークアップ拡張機能の処理は、 クラスによって定義されます。 + [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] XAML プロセッサの実装でこのマークアップ拡張機能の処理が定義されている、クラスです。 - `RelativeSource` はマークアップ拡張機能です。 一般にマークアップ拡張機能を実装するのは、属性値をリテラル値やハンドラー名以外にエスケープする要件が存在し、その要件の適用範囲がグローバルで、特定の型やプロパティに型コンバーターを適用するだけにとどまらない場合です。 XAML のすべてのマークアップ拡張機能では、それぞれの属性構文で `{` と `}` の 2 つの記号を使用します。これは規約であり、これに従って XAML プロセッサは、マークアップ拡張機能で属性を処理する必要があることを認識します。 詳細については、「[マークアップ拡張機能と WPF XAML](../../../../docs/framework/wpf/advanced/markup-extensions-and-wpf-xaml.md)」を参照してください。 + `RelativeSource` はマークアップ拡張機能です。 一般にマークアップ拡張機能を実装するのは、属性値をリテラル値やハンドラー名以外にエスケープする要件が存在し、その要件の適用範囲がグローバルで、特定の型やプロパティに型コンバーターを適用するだけにとどまらない場合です。 XAML の使用中のすべてのマークアップ拡張機能、`{`と`}`マークアップ拡張機能が、属性を処理する必要がありますを XAML プロセッサが認識する規則は、それぞれの属性構文内の文字です。 詳細については、次を参照してください。[マークアップ拡張機能と WPF XAML](../../../../docs/framework/wpf/advanced/markup-extensions-and-wpf-xaml.md)です。 -## 参照 - - [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) - [XAML の概要 \(WPF\)](../../../../docs/framework/wpf/advanced/xaml-overview-wpf.md) - [マークアップ拡張機能と WPF XAML](../../../../docs/framework/wpf/advanced/markup-extensions-and-wpf-xaml.md) - [データ バインドの概要](../../../../docs/framework/wpf/data/data-binding-overview.md) - [バインディング宣言の概要](../../../../docs/framework/wpf/data/binding-declarations-overview.md) - [x:Type マークアップ拡張機能](../../../../docs/framework/xaml-services/x-type-markup-extension.md) \ No newline at end of file +## 関連項目 + + [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) + [XAML の概要 (WPF)](../../../../docs/framework/wpf/advanced/xaml-overview-wpf.md) + [マークアップ拡張機能と WPF XAML](../../../../docs/framework/wpf/advanced/markup-extensions-and-wpf-xaml.md) + [データ バインディングの概要](../../../../docs/framework/wpf/data/data-binding-overview.md) + [バインディング宣言の概要](../../../../docs/framework/wpf/data/binding-declarations-overview.md) + [x:Type マークアップ拡張機能](../../../../docs/framework/xaml-services/x-type-markup-extension.md) diff --git a/docs/framework/wpf/advanced/sample-opentype-font-pack.md b/docs/framework/wpf/advanced/sample-opentype-font-pack.md index 1e177103f0b..818867a46f9 100644 --- a/docs/framework/wpf/advanced/sample-opentype-font-pack.md +++ b/docs/framework/wpf/advanced/sample-opentype-font-pack.md @@ -1,36 +1,38 @@ --- -title: "OpenType フォント パックのサンプル | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "フォント, OpenType フォント パック" - - "OpenType フォント パック" - - "タイポグラフィ, OpenType フォント パック" -ms.assetid: 56b46fa1-a44e-419b-8f14-25ad51c715c3 -caps.latest.revision: 23 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 22 +title: "OpenType フォント パックのサンプル" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- OpenType font pack [WPF] +- fonts [WPF], OpenType font pack +- typography [WPF], OpenType font pack +ms.assetid: 56b46fa1-a44e-419b-8f14-25ad51c715c3 +caps.latest.revision: "23" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: bbc5caeab5a77518e160bacb9722e50ff7abbfb4 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 --- -# OpenType フォント パックのサンプル -ここでは、[!INCLUDE[TLA2#tla_wcsdk](../../../../includes/tla2sharptla-wcsdk-md.md)] で配布されている、サンプルの [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォントの概要について説明します。 サンプル フォントは、[!INCLUDE[TLA#tla_winclient](../../../../includes/tlasharptla-winclient-md.md)] アプリケーションで使用可能な拡張 [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] 機能をサポートしています。 +# OpenType フォント パックのサンプル +このトピックでは、[!INCLUDE[TLA2#tla_wcsdk](../../../../includes/tla2sharptla-wcsdk-md.md)] で配布されている [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォントのサンプルの概要を説明します。 サンプル フォントは、[!INCLUDE[TLA#tla_winclient](../../../../includes/tlasharptla-winclient-md.md)] アプリケーションで使用可能な拡張 [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] 機能をサポートしています。 - -## OpenType フォント パックのフォント - [!INCLUDE[TLA2#tla_wcsdk](../../../../includes/tla2sharptla-wcsdk-md.md)] には、[!INCLUDE[TLA#tla_winclient](../../../../includes/tlasharptla-winclient-md.md)] アプリケーションの作成に使用できる一連の [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォントがサンプルとして用意されています。 サンプル フォントは、Ascender Corporation のライセンスを受けて提供されています。 これらのフォントには、[!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] 形式で定義されているすべての機能のサブセットだけが実装されています。 次の表に、サンプルの [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォント名の一覧を示します。 +## OpenType フォント パックのフォント + [!INCLUDE[TLA2#tla_wcsdk](../../../../includes/tla2sharptla-wcsdk-md.md)] には、[!INCLUDE[TLA#tla_winclient](../../../../includes/tlasharptla-winclient-md.md)] アプリケーションの作成に使用できる [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォント サンプルのセットが用意されています。 サンプル フォントは、Ascender Corporation のライセンスを受けて提供されています。 これらのフォントには、[!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォーマットで定義されている機能全体のサブセットだけが実装されています。 サンプルの [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォント名の一覧を次の表に示します。 -|**名前**|**File**| -|------------|--------------| +|**名前**|**ファイル**| +|--------------|--------------| |Kootenay|Kooten.ttf| |Lindsey|Linds.ttf| |Miramonte|Miramo.ttf| @@ -40,28 +42,28 @@ caps.handback.revision: 22 |Pescadero|Pesca.ttf| |Pescadero Bold|Pescab.ttf| - 次に示すのは、サンプルの [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォントです。 + 次の図は [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォントのサンプルが、どのように表示されるかを示しています。 - ![サンプル フォント パック内のフォント名の一覧](../../../../docs/framework/wpf/advanced/media/samplefontpack01.png "samplefontpack01") + ![サンプル フォント パック内のフォント名のリスト](../../../../docs/framework/wpf/advanced/media/samplefontpack01.gif "samplefontpack01") OpenType フォント パックのフォント - サンプル フォントは、Ascender Corporation のライセンスを受けて提供されています。 Ascender は高度なフォント製品を提供する企業です。 サンプル フォントの拡張版またはカスタム版のライセンスを受けるには、[Ascender Corporation の Web サイト](http://go.microsoft.com/fwlink/?LinkId=182627)を参照してください。 + サンプル フォントは、Ascender Corporation のライセンスを受けて提供されています。 Ascender は、高度なフォント製品を提供する企業です。 サンプル フォントの拡張版またはカスタム版のライセンスを受けるには、[Ascender Corporation の Web サイト](http://go.microsoft.com/fwlink/?LinkId=182627)を参照してください。 > [!NOTE] > アプリケーションに埋め込む、または別の方法で再頒布するフォントについて、必要なライセンス権限を取得することは、開発者であるユーザーの責任で行ってください。 -## フォントのインストール - サンプルの [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォントは、既定の [!INCLUDE[TLA#tla_mswin](../../../../includes/tlasharptla-mswin-md.md)] フォント ディレクトリ **\\WINDOWS\\Fonts** にインストールできます。 フォントをインストールするには、コントロール パネルの \[フォント\] を使用します。 これらのフォントをコンピューターにインストールすると、既定の [!INCLUDE[TLA#tla_mswin](../../../../includes/tlasharptla-mswin-md.md)] フォントを参照するすべてのアプリケーションからアクセスできるようになります。フォント ファイルの名前をダブルクリックすることで、各フォントの文字をさまざまなサイズで表示して確認することができます。 次のスクリーン ショットは、Lindsey フォント ファイル \(Linds.ttf\) を表示したものです。 +## フォントのインストール + サンプルの [!INCLUDE[TLA#tla_opentype](../../../../includes/tlasharptla-opentype-md.md)] フォントを、既定の [!INCLUDE[TLA#tla_mswin](../../../../includes/tlasharptla-mswin-md.md)] フォント ディレクトリである **\WINDOWS\Fonts** にインストールできます。 フォントをインストールするには、コントロール パネルの [フォント] を使用します。 これらのフォントをコンピューターにインストールすると、既定の [!INCLUDE[TLA#tla_mswin](../../../../includes/tlasharptla-mswin-md.md)] フォントを参照するすべてのアプリケーションからアクセスできるようになります。 フォント ファイルをダブルクリックして、各フォントの文字を異なるいくつかのフォント サイズで表示できます。 次のスクリーン ショットは、Lindsey フォント ファイル (Linds.ttf) を表示したものです。 - ![Lindsey フォント (OpenType)](../../../../docs/framework/wpf/advanced/media/typographyinwpf-04.png "TypographyInWPF\_04") + ![Lindsey フォント (OpenType)] (../../../../docs/framework/wpf/advanced/media/typographyinwpf-04.png "TypographyInWPF_04") Lindsey フォントの表示 -## フォントの使用 - アプリケーションでフォントを使用するには、2 とおりの方法があります。 フォントは、アセンブリにリソースとして埋め込まれていないプロジェクト コンテンツ項目としてアプリケーションに追加できます。 フォントは、アプリケーションのアセンブリ ファイルに埋め込まれたプロジェクト リソース項目としてアプリケーションに追加することもできます。 詳細については、「[アプリケーションでのフォントのパッケージング](../../../../docs/framework/wpf/advanced/packaging-fonts-with-applications.md)」を参照してください。 +## フォントの使用 + アプリケーションでフォントを使用するには、2 とおりの方法があります。 アセンブリ内にリソースとして埋め込まれていないプロジェクト コンテンツ項目として、フォントをアプリケーションに追加できます。 あるいは、アプリケーションのアセンブリ ファイル内に埋め込まれたプロジェクト リソース項目として、フォントをアプリケーションに追加できます。 詳細については、「[アプリケーションでのフォントのパッケージング](../../../../docs/framework/wpf/advanced/packaging-fonts-with-applications.md)」を参照してください。 -## 参照 - - [OpenType フォントの機能](../../../../docs/framework/wpf/advanced/opentype-font-features.md) - [アプリケーションでのフォントのパッケージング](../../../../docs/framework/wpf/advanced/packaging-fonts-with-applications.md) \ No newline at end of file +## 関連項目 + + [OpenType フォントの機能](../../../../docs/framework/wpf/advanced/opentype-font-features.md) + [アプリケーションでのフォントのパッケージング](../../../../docs/framework/wpf/advanced/packaging-fonts-with-applications.md) diff --git a/docs/framework/wpf/advanced/walkthrough-hosting-a-3-d-wpf-composite-control-in-windows-forms.md b/docs/framework/wpf/advanced/walkthrough-hosting-a-3-d-wpf-composite-control-in-windows-forms.md index 06b79466dcd..80cee44aa36 100644 --- a/docs/framework/wpf/advanced/walkthrough-hosting-a-3-d-wpf-composite-control-in-windows-forms.md +++ b/docs/framework/wpf/advanced/walkthrough-hosting-a-3-d-wpf-composite-control-in-windows-forms.md @@ -1,69 +1,75 @@ ---- -title: "チュートリアル: Windows フォームでの 3D WPF 複合コントロールのホスト | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "複合コントロール, ホスト (WPF を)" - - "ホスト (Windows フォームの WPF コンテンツを)" +--- +title: "チュートリアル: Windows フォームでの 3D WPF 複合コントロールのホスト" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- hosting WPF content in Windows Forms [WPF] +- composite controls [WPF], hosting WPF in ms.assetid: 486369a9-606a-4a3b-b086-a06f2119c7b0 -caps.latest.revision: 23 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 23 ---- -# チュートリアル: Windows フォームでの 3D WPF 複合コントロールのホスト -このチュートリアルでは、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] 複合コントロールを作成し、それを コントロールを使用して [!INCLUDE[TLA#tla_winforms](../../../../includes/tlasharptla-winforms-md.md)]のコントロールおよびフォームでホストする方法を示します。 - - ここでは、2 つの子コントロールを含む [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] を実装します。 は、3 次元 \(3\-D\) の円錐形を表示します。 3\-D オブジェクトのレンダリングは、[!INCLUDE[TLA#tla_winforms](../../../../includes/tlasharptla-winforms-md.md)]より [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] で行う方がはるかに簡単です。 したがって、[!INCLUDE[TLA#tla_winforms](../../../../includes/tlasharptla-winforms-md.md)]で [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] クラスをホストして 3\-D グラフィックスを作成することには意味があります。 +caps.latest.revision: "23" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: c5af705509d30f7dfd50ade0c07aca242deff4dd +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# チュートリアル: Windows フォームでの 3D WPF 複合コントロールのホスト +このチュートリアルでは、作成する方法、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]複合を制御し、ホストすることで[!INCLUDE[TLA#tla_winforms](../../../../includes/tlasharptla-winforms-md.md)]コントロールおよびフォームを使用して、コントロール。 + + このチュートリアルでは、実装、 [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] 2 つの子コントロールを格納しています。 3 次元 (3 D) 円錐型が表示されます。 3-D オブジェクトを表示することが非常に簡単、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]よりと[!INCLUDE[TLA#tla_winforms](../../../../includes/tlasharptla-winforms-md.md)]です。 そのため、これがわかりやすいホスト、 [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] で 3-D グラフィックスを作成するクラス[!INCLUDE[TLA#tla_winforms](../../../../includes/tlasharptla-winforms-md.md)]です。 このチュートリアルでは、以下のタスクを行います。 -- [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] の作成 +- 作成する、 [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] です。 -- Windows フォームのホスト プロジェクトの作成 +- Windows フォーム ホスト プロジェクトを作成します。 -- [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] のホスト +- ホストしている、 [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] です。 - このチュートリアルで示すタスクの完全なコード一覧については、[Windows フォームでの 3\-D WPF 複合コントロールのホストのサンプル](http://go.microsoft.com/fwlink/?LinkID=160001)を参照してください。 + このチュートリアルでタスクの完全なコードについては、次を参照してください。 [Windows フォームのサンプルの 3-D WPF 複合コントロールをホストしている](http://go.microsoft.com/fwlink/?LinkID=160001)です。 -## 必須コンポーネント +## 必須コンポーネント このチュートリアルを実行するには、次のコンポーネントが必要です。 -- [!INCLUDE[vs_orcas_long](../../../../includes/vs-orcas-long-md.md)]. +- [!INCLUDE[vs_orcas_long](../../../../includes/vs-orcas-long-md.md)]。 -## UserControl の作成 +## ユーザー コントロールを作成します。 -#### UserControl を作成するには +#### ユーザー コントロールを作成するには -1. `HostingWpfUserControlInWf` という名前の WPF ユーザー コントロール ライブラリ プロジェクトを作成します。 +1. という名前の WPF ユーザー コントロール ライブラリ プロジェクトを作成する`HostingWpfUserControlInWf`です。 -2. [!INCLUDE[wpfdesigner_current_short](../../../../includes/wpfdesigner-current-short-md.md)]で UserControl1.xaml を開きます。 +2. UserControl1.xaml を開き、[!INCLUDE[wpfdesigner_current_short](../../../../includes/wpfdesigner-current-short-md.md)]です。 -3. 生成されているコードを次のコードに置き換えます。 +3. 生成されたコードを次のコードに置き換えます。 - このコードでは、2 つの子コントロールを含む が定義されています。 1 番目の子コントロールは コントロールで、2 番目は 3\-D の円錐形を表示する コントロールです。 + このコードを定義、 2 つの子コントロールを格納しています。 最初の子コントロールは、コントロール以外の 2 つ目は、 3-D 円錐型を表示するコントロール。 - [!code-xml[HostingWpfUserControlInWf#1](../../../../samples/snippets/csharp/VS_Snippets_Wpf/HostingWpfUserControlInWf/CSharp/HostingWpfUserControlInWf/ConeControl.xaml#1)] + [!code-xaml[HostingWpfUserControlInWf#1](../../../../samples/snippets/csharp/VS_Snippets_Wpf/HostingWpfUserControlInWf/CSharp/HostingWpfUserControlInWf/ConeControl.xaml#1)] -## Windows フォームのホスト プロジェクトの作成 +## Windows フォーム ホスト プロジェクトを作成します。 -#### ホスト プロジェクトを作成するには +#### ホスト プロジェクトを作成するには -1. `WpfUserControlHost` という名前の Windows アプリケーション プロジェクトをソリューションに追加します。 詳細については、「[方法 : 新しい WPF アプリケーション プロジェクトを作成する](http://msdn.microsoft.com/ja-jp/1f6aea7a-33e1-4d3f-8555-1daa42e95d82)」を参照してください。 +1. という名前の Windows アプリケーション プロジェクトを追加`WpfUserControlHost`をソリューションにします。 詳細については、次を参照してください。[する方法: 新しい WPF アプリケーション プロジェクトを作成する](http://msdn.microsoft.com/en-us/1f6aea7a-33e1-4d3f-8555-1daa42e95d82)です。 -2. ソリューション エクスプローラーで、WindowsFormsIntegration.dll という名前の WindowsFormsIntegration アセンブリへの参照を追加します。 +2. ソリューション エクスプ ローラーで、WindowsFormsIntegration.dll と呼ばれる WindowsFormsIntegration アセンブリへの参照を追加します。 -3. 次の [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] アセンブリへの参照を追加します。 +3. 次の参照を追加[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]アセンブリ。 - PresentationCore @@ -71,34 +77,34 @@ caps.handback.revision: 23 - WindowsBase -4. `HostingWpfUserControlInWf` プロジェクトへの参照を追加します。 +4. `HostingWpfUserControlInWf` への参照をプロジェクトに追加します。 -5. ソリューション エクスプローラーで、`WpfUserControlHost` プロジェクトをスタートアップ プロジェクトとして設定します。 +5. ソリューション エクスプ ローラーで、設定、`WpfUserControlHost`プロジェクトをスタートアップ プロジェクト。 -## Windows Presentation Foundation UserControl のホスト +## Windows Presentation Foundation ユーザー コントロールをホストしています。 -#### UserControl をホストするには +#### ユーザー コントロールをホストするには 1. Windows フォーム デザイナーで、Form1 を開きます。 -2. \[プロパティ\] ウィンドウで、\[イベント\] をクリックし、 イベントをダブルクリックしてイベント ハンドラーを作成します。 +2. [プロパティ] ウィンドウでをクリックして**イベント**、順にダブルクリックし、イベント ハンドラーを作成するイベントです。 - コード エディターで、新しく生成された `Form1_Load` イベント ハンドラーが開かれます。 + コード エディターが新たに生成されたに`Form1_Load`イベント ハンドラー。 -3. Form1.cs 内のコードを次のコードに置き換えます。 +3. Form1.cs のコードを次のコードに置き換えます。 - `Form1_Load` イベント ハンドラーは、`UserControl1` のインスタンスを作成し、 コントロールの子コントロールのコレクションにそれを追加します `` 。 フォームの子コントロールのコレクションには、 コントロールが追加されます。 + `Form1_Load`イベント ハンドラーのインスタンスを作成する`UserControl1`し、追加の接続を受け付ける、子コントロールのコントロールのコレクション。 コントロールが子コントロールのフォームのコレクションに追加します。 - [!code-csharp[HostingWpfUserControlInWf#10](../../../../samples/snippets/csharp/VS_Snippets_Wpf/HostingWpfUserControlInWf/CSharp/WpfUserControlHost/Form1.cs#10)] + [!code-csharp[HostingWpfUserControlInWf#10](../../../../samples/snippets/csharp/VS_Snippets_Wpf/HostingWpfUserControlInWf/CSharp/WpfUserControlHost/Form1.cs#10)] [!code-vb[HostingWpfUserControlInWf#10](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/HostingWpfUserControlInWf/VisualBasic/WpfUserControlHost/Form1.vb#10)] 4. F5 キーを押してアプリケーションをビルドし、実行します。 -## 参照 - - - [WPF デザイナー](http://msdn.microsoft.com/ja-jp/c6c65214-8411-4e16-b254-163ed4099c26) - [チュートリアル: Windows フォームでの WPF 複合コントロールのホスト](../../../../docs/framework/wpf/advanced/walkthrough-hosting-a-wpf-composite-control-in-windows-forms.md) - [チュートリアル: WPF での Windows フォーム複合コントロールのホスト](../../../../docs/framework/wpf/advanced/walkthrough-hosting-a-windows-forms-composite-control-in-wpf.md) - [Windows フォームでの WPF 複合コントロールのホストのサンプル](http://go.microsoft.com/fwlink/?LinkID=160001) \ No newline at end of file +## 関連項目 + + + [WPF デザイナー](http://msdn.microsoft.com/en-us/c6c65214-8411-4e16-b254-163ed4099c26) + [チュートリアル: Windows フォームでの WPF 複合コントロールのホスト](../../../../docs/framework/wpf/advanced/walkthrough-hosting-a-wpf-composite-control-in-windows-forms.md) + [チュートリアル: WPF での Windows フォーム複合コントロールのホスト](../../../../docs/framework/wpf/advanced/walkthrough-hosting-a-windows-forms-composite-control-in-wpf.md) + [Windows フォームのサンプルでの WPF 複合コントロールをホストしています。](http://go.microsoft.com/fwlink/?LinkID=160001) diff --git a/docs/framework/wpf/advanced/wpf-xaml-namescopes.md b/docs/framework/wpf/advanced/wpf-xaml-namescopes.md index cf5b0b827d4..a689a2dc889 100644 --- a/docs/framework/wpf/advanced/wpf-xaml-namescopes.md +++ b/docs/framework/wpf/advanced/wpf-xaml-namescopes.md @@ -1,94 +1,92 @@ --- -title: "WPF XAML 名前スコープ | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "API, 名前関連" - - "クラス, FrameworkContentElement" - - "クラス, FrameworkElement" - - "クラス, RegisterName" - - "FrameworkContentElement クラス" - - "FrameworkElement クラス" - - "名前関連 API" - - "名前スコープ" - - "RegisterName クラス" - - "スタイル, 名前スコープ" - - "テンプレート, 名前スコープ" - - "XAML, 名前スコープ" -ms.assetid: 52bbf4f2-15fc-40d4-837b-bb4c21ead7d4 -caps.latest.revision: 19 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 18 +title: "WPF XAML 名前スコープ" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- namescopes [WPF] +- styles [WPF], namescopes in +- templates [WPF], namescopes in +- APIs [WPF], name-related +- name-related APIs +- XAML [WPF], namescopes +- classes [WPF], FrameworkContentElement +ms.assetid: 52bbf4f2-15fc-40d4-837b-bb4c21ead7d4 +caps.latest.revision: "19" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 22b0354a0821021239140527793dc34e3911a733 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 --- -# WPF XAML 名前スコープ -XAML 名前スコープは、XAML で定義されるオブジェクトを識別する概念です。 XAML 名前スコープの名前を使用すると、XAML で定義されたオブジェクトの名前とそれに対応するインスタンスとの関係をオブジェクト ツリーとして確立できます。 通常、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] マネージ コードの XAML 名前スコープは、XAML アプリケーションの個々の XAML ページ ルートの読み込み時に作成されます。 プログラミング オブジェクトとしての XAML 名前スコープは、 インターフェイスによって定義され、実際的な クラスによって実装されます。 +# WPF XAML 名前スコープ +XAML 名前スコープを識別する概念のオブジェクトを XAML で定義されています。 XAML 名前スコープ内の名前は、オブジェクト ツリー内のオブジェクトの XAML で定義された名前と、対応するインスタンス間のリレーションシップを確立するために使用できます。 XAML 名前スコープ通常、 [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] XAML アプリケーションのルート個々 の XAML ページを読み込むときに、マネージ コードは作成されます。 プログラミング オブジェクトとしての XAML 名前スコープが定義されている、インターフェイスし、実際のクラスによって実装されてもします。 + - -## 読み込まれた XAML アプリケーションにおける名前スコープ - 広義のプログラミングまたはコンピューター サイエンスのコンテキストでは、プログラミングの概念に、オブジェクトへのアクセスに使用できる一意の識別子または名前の原則が含まれる場合がよくあります。 識別子または名前を使用するシステムの場合、名前スコープによって、その名前のオブジェクトが要求されたときにプロセスまたは技法で検索する境界、または識別名の一意性を適用する境界が定義されます。 XAML 名前スコープには、これらの一般原則が当てはまります。 WPF では、XAML 名前スコープは、XAML ページを読み込むときに、そのルート要素上に作成されます。 XAML ページ内で指定した名前は、それぞれ関連する XAML 名前スコープに追加されます。名前はページ ルートから始まります。 +## 読み込まれた XAML アプリケーションにおける名前スコープ + 広範なプログラミングまたはコンピューター サイエンスのコンテキストでは、プログラミングの概念が含まれる場合、一意の識別子またはオブジェクトにアクセスするために使用する名前の原則。 内の境界を定義する名前スコープ識別子や名前を使用するシステムでは、その名前のオブジェクトが要求されている場合、プロセスや方法は検索するまたは識別名の一意性が強制されますの境界。 次の一般原則は、XAML 名前スコープの場合は true です。 XAML 名前スコープは、WPF では、ページが読み込まれるときに、XAML ページのルート要素に作成されます。 ページのルートから始まる XAML ページ内で指定した名前は、適切な XAML 名前スコープに追加されます。 - WPF XAML では、共通ルート要素である要素 \( など\) が XAML 名前スコープを常に制御します。 マークアップのページのルート要素が などの要素である場合は、有効な XAML 名前スコープを が提供できるように、[!INCLUDE[TLA2#tla_xaml](../../../../includes/tla2sharptla-xaml-md.md)] プロセッサによって ルートが暗黙的に追加されます。 + WPF xaml で共通のルート要素である要素 (など、および) 常に XAML 名前スコープを制御します。 場合など、要素またはマークアップでは、ページのルート要素には、[!INCLUDE[TLA2#tla_xaml](../../../../includes/tla2sharptla-xaml-md.md)]プロセッサを追加、暗黙的にルートように、作業用の XAML 名前スコープを指定できます。 > [!NOTE] -> [!INCLUDE[TLA2#tla_xaml](../../../../includes/tla2sharptla-xaml-md.md)] マークアップ内の要素に `Name` 属性または `x:Name` 属性が定義されていない場合でも、WPF ビルド アクションによって XAML 稼働環境の XAML 名前スコープが作成されます。 +> WPF ビルド アクションがない場合でも、XAML 稼働環境の XAML 名前スコープを作成`Name`または`x:Name`内にある要素の属性が定義されている、[!INCLUDE[TLA2#tla_xaml](../../../../includes/tla2sharptla-xaml-md.md)]マークアップ。 - 1 つの XAML 名前スコープ内で同じ名前を 2 回使用しようとすると、例外が発生します。 分離コードを持ち、コンパイル済みアプリケーションの一部である WPF XAML の場合、この例外は、WPF ビルド アクションによるビルド時、最初のマークアップ コンパイル中にページに対する生成クラスが作成されるときに発生します。 どのビルド アクションによってもマークアップ コンパイルされない XAML では、XAML の読み込み時に XAML 名前スコープの問題に関連する例外が発生することがあります。 XAML デザイナーがデザイン時に XAML 名前スコープの問題を予測できる場合もあります。 + XAML 名前スコープで 2 回、同じ名前を使用しようとすると、例外が発生します。 分離コードがあり、コンパイルされたアプリケーションの一部を WPF xaml で例外はビルド時に、WPF ビルド アクションによって、初期のマークアップのコンパイル時に、ページに対して生成されたクラスを作成するときに発生します。 されていない XAML をマークアップ コンパイルされたすべてのビルド アクションによって、XAML が読み込まれるときに XAML 名前スコープの問題に関連する例外を発生する可能性があります。 XAML デザイナーでは、デザイン時に XAML 名前スコープの問題も予測可能性があります。 -### ランタイム オブジェクト ツリーへのオブジェクトの追加 - XAML が解析されるのは、WPF XAML 名前スコープが作成され、定義される時点です。 XAML が解析されてオブジェクト ツリーが生成された後、そのオブジェクト ツリーにオブジェクトを追加しても、新しいオブジェクトの `Name` または `x:Name` の値によって XAML 名前スコープ内の情報が自動的に更新されることはありません。 XAML の読み込み後にオブジェクトの名前を WPF XAML 名前スコープに追加するには、XAML 名前スコープを定義するオブジェクトの適切な の実装を呼び出す必要があります。通常、これは XAML ページ ルートです。 名前が登録されていない場合、追加したオブジェクトを などのメソッドを使用して名前で参照することはできません。また、名前をアニメーションのターゲットとして使用することもできません。 +### オブジェクトをランタイム オブジェクト ツリーに追加します。 + XAML が解析した時点では、WPF XAML 名前スコープが作成され、定義の時点を表します。 オブジェクトをオブジェクト ツリーの時点にそのツリーが生成される XAML が解析された後で追加した場合、`Name`または`x:Name`新しいオブジェクトの値が XAML 名前スコープ内の情報を自動的に更新されません。 XAML が読み込まれた後に、WPF XAML 名前スコープにオブジェクトの名前を追加するには、適切な実装を呼び出す必要がありますXAML 名前スコープを定義するオブジェクトのルートである通常 XAML ページ。 名前が登録されていない場合、追加するオブジェクトで参照できません名前メソッドによってなど、およびアニメーションのターゲットの名前を使用することはできません。 - アプリケーション開発者にとって最も一般的なシナリオでは、 を使用して、ページの現在のルート上の XAML 名前スコープに名前を登録します。 は、オブジェクトをアニメーションのターゲットとするストーリーボードにとって重要なシナリオの一部です。 詳細については、「[ストーリーボードの概要](../../../../docs/framework/wpf/graphics-multimedia/storyboards-overview.md)」を参照してください。 + アプリケーション開発者向けの最も一般的なシナリオは、使用するページの現在のルートに XAML 名前スコープに名前を登録します。 ストーリー ボードの重要なシナリオの一部のアニメーションでそのターゲット オブジェクトです。 詳細については、次を参照してください。[ストーリー ボードの概要](../../../../docs/framework/wpf/graphics-multimedia/storyboards-overview.md)です。 - XAML 名前スコープを定義するオブジェクト以外のオブジェクトで を呼び出した場合も、XAML 名前スコープを定義するオブジェクトで を呼び出した場合と同様に、名前は呼び出し元のオブジェクトが保持されている XAML 名前スコープに登録されます。 + 呼び出す場合XAML 名前スコープを定義するオブジェクト以外のオブジェクト、名前はまだ登録内で、呼び出し元のオブジェクトが保持されている XAML 名前スコープに呼び出したいた場合とオブジェクトを定義する XAML 名前スコープにします。 -### コードでの XAML 名前スコープ - コードで XAML 名前スコープを作成して使用できます。 API および XAML 名前スコープの作成に関連する概念は、純粋なコードを使用する場合でも同じです。これは、[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] の XAML プロセッサが XAML 自体を処理するときにこれらの API と概念を使用するためです。 この概念と API の主な目的は、通常は一部または全体が XAML で定義されるオブジェクト ツリー内で、名前でオブジェクトを検索できるようにすることです。 +### コード内の XAML 名前スコープ + 作成し、コード内の XAML 名前スコープを使用できます。 Api と XAML 名前スコープの作成に関連する概念は、純粋なコードの使用状況、に対しても同じため、XAML プロセッサに対して[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]XAML 自体を処理するときに、これらの Api と概念を使用します。 概念と API は、XAML では部分的または完全は定義された通常のオブジェクト ツリー内で名前によってオブジェクトを検索できないために主に存在します。 - XAML の読み込みによるのではなくプログラムで作成されるアプリケーションの場合、XAML 名前スコープをサポートするためには、XAML 名前スコープを定義するオブジェクトが を実装しているか、 派生クラスまたは 派生クラスである必要があります。 + XAML 名前スコープを定義するオブジェクトを実装する必要があります、プログラムによって作成されたアプリケーションと読み込まれた XAML からではなく、 、または、またはで XAML 名前スコープの作成をサポートするために派生したクラス、そのインスタンス。 - また、XAML プロセッサによって読み込みおよび処理が行われない要素の場合、既定では、オブジェクトの XAML 名前スコープは作成または初期化されません。 後で名前を登録する予定のオブジェクトに対しては、新しい XAML 名前スコープを明示的に作成する必要があります。 XAML 名前スコープを作成するには、静的な メソッドを呼び出します。 `dependencyObject` パラメーターとしてそれを所有するオブジェクトを、`value` パラメーターとして新しい コンストラクターの呼び出しを指定します。 + また、読み込みおよび XAML プロセッサで処理されないを任意の要素のオブジェクトの XAML 名前スコープは作成または既定で初期化します。 明示的に名前を後で登録するその他のオブジェクトの新しい XAML 名前スコープを作成する必要があります。 XAML 名前スコープを作成するには、静的なを呼び出すメソッドです。 としてそれを所有するオブジェクトを指定して、`dependencyObject`パラメーター、および新しいとしてコンス トラクターの呼び出し、`value`パラメーター。 - に対する `dependencyObject` として指定したオブジェクトが、 実装、、または のいずれでもない場合、子要素上で を呼び出しても効果はありません。 新しい XAML 名前スコープを明示的に作成しなかった場合、 を呼び出すと例外が発生します。 + オブジェクト設定されている場合`dependencyObject`のされませんが、実装では、または、呼び出し元で任意の子要素は効果がありません。 新しい XAML 名前スコープを明示的に作成に失敗した場合、呼び出しで例外が発生します。 - XAML 名前スコープ API をコードで使用する例については、「[名前のスコープを定義する](../../../../docs/framework/wpf/graphics-multimedia/how-to-define-a-name-scope.md)」を参照してください。 + コード内の XAML 名前スコープの Api を使用しての例は、次を参照してください。[名前スコープを定義する](../../../../docs/framework/wpf/graphics-multimedia/how-to-define-a-name-scope.md)です。 -## スタイルとテンプレートにおける XAML 名前スコープ - [!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] のスタイルとテンプレートを使用すると、コンテンツを直接再利用および再適用できます。 ただし、スタイルとテンプレートには、テンプレート レベルで定義された XAML 名を持つ要素も含まれている可能性があります。 同一のテンプレートが、ページ内で複数回使用される可能性があります。 このため、スタイルとテンプレートでは両方とも、適用先のオブジェクト ツリー内の場所に依存しない独自の XAML 名前スコープを定義します。 +## スタイルとテンプレートで XAML 名前スコープ + スタイルおよびテンプレート[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]を再利用し、簡単な方法でコンテンツを再適用する機能を提供します。 ただし、スタイルとテンプレートを含めることも要素テンプレート レベルで定義された XAML 名前。 同じテンプレートをページに複数回使用可能性があります。 このため、スタイルおよびテンプレート スタイルまたはテンプレートの適用先のオブジェクト ツリーの任意の場所の独立した独自の XAML 名前スコープを定義します。 次に例を示します。 - [!code-xml[XamlOvwSupport#NameScopeTemplates](../../../../samples/snippets/csharp/VS_Snippets_Wpf/XAMLOvwSupport/CSharp/page6.xaml#namescopetemplates)] + [!code-xaml[XamlOvwSupport#NameScopeTemplates](../../../../samples/snippets/csharp/VS_Snippets_Wpf/XAMLOvwSupport/CSharp/page6.xaml#namescopetemplates)] - ここでは、同一のテンプレートを 2 つの異なるボタンに適用しています。 これらのテンプレートがそれぞれ異なる XAML 名前スコープを持っていない場合、テンプレート内で使用されている `TheBorder` という名前により、XAML 名前スコープで名前の競合が発生することになります。 テンプレートの各インスタンスは独自の XAML 名前スコープを持つため、この例の場合、インスタンス化された各テンプレートの XAML 名前スコープに、名前が必ず 1 つずつ含まれます。 + ここでは、同じテンプレートは、2 つの異なるボタンに適用されます。 テンプレートは、不連続の XAML 名前スコープを持っていなかった場合、`TheBorder`テンプレートで使用される名前は XAML 名前スコープで、名前の競合が発生します。 テンプレートの各インスタンスは、ため、この例の場合、各インスタンス化されたテンプレートの XAML 名前スコープに、名を正確に 1 つ含まれます、独自の XAML 名前スコープを持ちます。 - スタイルも独自の XAML 名前スコープを定義します。これは主に、ストーリーボードの各部分に独自の名前が割り当てられるようにするためです。 コントロールのカスタマイズ時にテンプレートを再定義した場合も、これらの名前によって、名前の要素を対象とするコントロール固有の動作が可能となります。 + スタイルは、ストーリー ボードの一部が割り当てられている特定の名前を持つことができますようにほとんどの場合も、独自の XAML 名前スコープを定義します。 これらの名前では、テンプレートをコントロールのカスタマイズの一部として再定義した場合でも、その名前を持つ要素が対象とするコントロール固有の動作が有効にします。 - XAML 名前スコープが複数存在するため、テンプレート内の指定要素の検索が、ページ内のテンプレートなしの指定要素の検索よりも困難になります。 まず、テンプレートが適用されたコントロールの プロパティ値を取得して、適用されたテンプレートを判断する必要があります。 その後、テンプレート バージョンの を呼び出し、テンプレートが適用されたコントロールを 2 番目のパラメーターとして渡します。 + により、別の XAML 名前スコープ、テンプレートの名前付きの要素を検索するは、テンプレート化されていない名前を持つページ内の要素を検索するよりも難しいです。 取得することによって、テンプレートを適用したを決定する必要があります最初、テンプレートが適用されているコントロールのプロパティの値。 その後のテンプレート バージョンを呼び出すテンプレートが 2 番目のパラメーターとして適用された、制御を渡すことです。 - コントロールの作成者が生成している規則で、適用されたテンプレートの特定の指定要素を、コントロール自体によって定義される動作の対象とする場合は、コントロール実装コードから メソッドを使用できます。 メソッドはプロテクトされているため、コントロールの作成者のみがアクセスできます。 + コントロールの作成者は、コントロール自体で定義されている動作の対象を特定のテンプレートを適用した内の要素をという名前がここでは、規則を生成している場合を使えば、コントロール実装コードからメソッドです。 のみコントロールの作成者へのアクセス権を持つメソッドは保護されています。 - テンプレート内での作業中に、テンプレートが適用される XAML 名前スコープを取得する必要がある場合は、 の値を取得した後、そこで を呼び出します。 テンプレート内で作業するのは、たとえば、適用したテンプレート内の要素からイベントを発生させるようなイベント ハンドラーを記述する場合です。 + テンプレート、および、テンプレートが適用されている XAML 名前スコープを取得する必要があります内で作業する場合の値を取得、まずがあります。 テンプレート内での作業の例になりますイベント ハンドラーの実装を記述するかどうか、適用されたテンプレート内の要素からイベントを発生させる場所。 -## XAML 名前スコープと名前関連 API - には、 の各メソッドがあります。 これらのメソッドを呼び出すオブジェクトが XAML 名前スコープを所有している場合、そのメソッドは関連する XAML 名前スコープのメソッドを呼び出します。 それ以外の場合、親要素が XAML 名前スコープを所有しているかどうかが調べられ、XAML 名前スコープが見つかるまでこの処理が再帰的に続行されます \(XAML プロセッサの動作により、ルートには必ず XAML 名前スコープが存在します\)。 での動作もこれに類似していますが、いずれの も XAML 名前スコープを所有しない点だけが異なります。 にもそれらのメソッドが存在するため、呼び出しは、最終的に 親要素まで転送されることができます。 +## XAML 名前空間と名前に関連する Api + メソッドです。 これらのメソッドを呼び出すオブジェクトに、XAML 名前空間が所有している場合、メソッドは、関連する XAML 名前スコープのメソッドを呼び出します。 それ以外の場合、親要素がオンになって、XAML 名前空間を所有するいると、XAML 名前空間が見つかるまでこのプロセスは、再帰的に (動作のために、XAML プロセッサ、存在が保証されるルートにある XAML 名前スコープ)。 例外が、類似の動作がありますをありませんXAML 名前スコープを所有することです。 メソッドが上に存在呼び出しを最終的に転送できるように、親要素です。 - 新しい XAML 名前スコープを既存のオブジェクトに割り当てるには、 を使用します。 XAML 名前スコープをリセットしたり消去したりするために を複数回呼び出すこともできますが、一般的な使用方法ではありません。 また、通常、 をコードから使用することはありません。 + 既存のオブジェクトに新しい XAML 名前スコープをマップに使用されます。 呼び出すことができますも複数回リセットまたは XAML をオフにするためにスコープがするではありません一般的な使用方法です。 また、コードからは通常使用されません。 -### XAML 名前スコープの実装 - 次のクラスは、 を直接実装します。 +### XAML 名前スコープの実装 + 次のクラスを実装直接。 - @@ -98,16 +96,16 @@ XAML 名前スコープは、XAML で定義されるオブジェクトを識別 - - はディクショナリの実装であるため、XAML 名または名前スコープの代わりにキーを使用します。 を実装する唯一の理由は、ユーザー コードに対して例外を発生可能にして、本当の XAML 名前スコープと によるキーの処理方法との違いを明確にしたり、XAML 名前スコープが特に親要素によって に適用されないようにしたりできるためです。 + XAML の名前や名前スコープ; を使用しません。使用してキー代わりに、ディクショナリの実装になっているためです。 唯一の理由実装true XAML 名前スコープの違いをわかりやすくユーザー コードに例外が発生にできるようにする方法とは、キーを処理および XAML 名前スコープに適用されなかったことを確実にも、親要素です。 - および は、明示的なインターフェイス定義を通じて を実装します。 明示的に実装すると、 インターフェイスからこれらの XAML 名前スコープにアクセスした場合に、それらが従来どおりに動作します。[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)] 内部プロセスは、このアクセス方法を使用して XAML 名前スコープと通信します。 しかし、明示的なインターフェイス定義は、 の通常の API サーフェイスには含まれません。これは、 では、 のメソッドを直接呼び出す必要がほとんどなく、代わりに などの他の API を使用するためです。 + および実装明示的なインターフェイスの定義を使用します。 明示的な実装を介してアクセスされるときに通常の動作にこれらの XAML 名前スコープを許可する、インターフェイスは XAML 名前スコープが伝達される方法で[!INCLUDE[TLA2#tla_winclient](../../../../includes/tla2sharptla-winclient-md.md)]内部プロセスです。 明示的なインターフェイスの定義がの従来の API サーフェイスの一部ではないが、頻度の低いを呼び出す必要があるため、メソッドはその他の API を使用して直接、または代わりにようにです。 - 次のクラスは、 ヘルパー クラスを使用し、 添付プロパティからその XAML 名前スコープ実装に接続することにより、独自の XAML 名前スコープを定義します。 + 次のクラスを使用して、独自の XAML 名前スコープを定義する、ヘルパー クラスおよびその XAML 名前スコープの実装を通じてへの接続、添付プロパティ。 - - -## 参照 - [XAML 名前空間および WPF XAML の名前空間の割り当て](../../../../docs/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md) - [x:Name ディレクティブ](../../../../docs/framework/xaml-services/x-name-directive.md) \ No newline at end of file +## 関連項目 + [XAML 名前空間および WPF XAML の名前空間の割り当て](../../../../docs/framework/wpf/advanced/xaml-namespaces-and-namespace-mapping-for-wpf-xaml.md) + [x:Name ディレクティブ](../../../../docs/framework/xaml-services/x-name-directive.md) diff --git a/docs/framework/wpf/controls/how-to-display-data-by-using-gridviewrowpresenter.md b/docs/framework/wpf/controls/how-to-display-data-by-using-gridviewrowpresenter.md index 3567af2a9fa..55973467bba 100644 --- a/docs/framework/wpf/controls/how-to-display-data-by-using-gridviewrowpresenter.md +++ b/docs/framework/wpf/controls/how-to-display-data-by-using-gridviewrowpresenter.md @@ -1,34 +1,37 @@ ---- -title: "方法 : GridViewRowPresenter を使用してデータを表示する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "表示 (GridViewRowPresenter でデータを)" - - "GridViewRowPresenter" +--- +title: "方法 : GridViewRowPresenter を使用してデータを表示する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- displaying data with GridViewRowPresenter [WPF] +- GridViewRowPresenter [WPF] ms.assetid: bdb785a5-a262-44d5-a517-ea14383e5f70 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 9 ---- -# 方法 : GridViewRowPresenter を使用してデータを表示する -この例では、 オブジェクトと オブジェクトを使用して、列内にデータを表示する方法を示します。 +caps.latest.revision: "9" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: ebe0a47d38a2cfda2a7d150b4a3886d9f63ee190 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : GridViewRowPresenter を使用してデータを表示する +この例を使用する方法を示しています、列にデータを表示するオブジェクト。 -## 使用例 - オブジェクトと オブジェクトを使用して、 オブジェクトの を表示する を指定する方法を次の例に示します。 この例では、 も定義します。 +## 例 + 次の例を指定する方法を示しています、を表示する、オブジェクトを使用してオブジェクト。 また、です。 - [!code-xml[GridViewRowPresenterSample#GridViewRowPresenter](../../../../samples/snippets/csharp/VS_Snippets_Wpf/GridViewRowPresenterSample/CS/Window1.xaml#gridviewrowpresenter)] + [!code-xaml[GridViewRowPresenterSample#GridViewRowPresenter](../../../../samples/snippets/csharp/VS_Snippets_Wpf/GridViewRowPresenterSample/CS/Window1.xaml#gridviewrowpresenter)] -## 参照 - - - - [GridView の概要](../../../../docs/framework/wpf/controls/gridview-overview.md) \ No newline at end of file +## 関連項目 + + + + [GridView の概要](../../../../docs/framework/wpf/controls/gridview-overview.md) diff --git a/docs/framework/wpf/controls/how-to-display-listview-contents-by-using-a-gridview.md b/docs/framework/wpf/controls/how-to-display-listview-contents-by-using-a-gridview.md index 4a854acce80..7f61a7a0531 100644 --- a/docs/framework/wpf/controls/how-to-display-listview-contents-by-using-a-gridview.md +++ b/docs/framework/wpf/controls/how-to-display-listview-contents-by-using-a-gridview.md @@ -1,39 +1,42 @@ ---- -title: "方法 : GridView を使用して ListView コンテンツを表示する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "GridView, 表示 (ListView コンテンツを)" - - "ListView コントロール, 表示 (GridView でコンテンツを)" +--- +title: "方法 : GridView を使用して ListView コンテンツを表示する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- ListView controls [WPF], displaying contents with GridView +- GridView [WPF], displaying ListView contents ms.assetid: 5bc1e767-ab46-4f14-bd41-3d5d39e1d000 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 9 ---- -# 方法 : GridView を使用して ListView コンテンツを表示する -この例では、 コントロールの 表示モードを定義する方法を示します。 +caps.latest.revision: "9" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 24560a1e9b663a3145b589b5a03af8a8b72236ec +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : GridView を使用して ListView コンテンツを表示する +この例は、定義する方法を示します、の表示モード、コントロール。 -## 使用例 - の表示モードは、 オブジェクトを指定することで定義できます。 コントロールに対して指定されているデータ コンテンツにバインドする オブジェクトを定義する方法を次の例に示します。 この の例では、3 つの オブジェクトを指定します。これらのオブジェクトは、 コントロールの として設定されている `EmployeeInfoDataSource` の、`FirstName`、`LastName`、および `EmployeeNumber` フィールドにマップされています。 +## 例 + 表示モードを定義することができます、を指定してオブジェクト。 次の例は、定義する方法を示しています。に対して指定されているデータの内容をバインドするオブジェクト、コントロール。 これは、の例では、3 つを指定しますにマップされているオブジェクト、 `FirstName`、 `LastName`、および`EmployeeNumber`のフィールド、`EmployeeInfoDataSource`として設定されている、コントロール。 - [!code-xml[ListViewCode#ListViewEmployee](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ListViewCode/CSharp/Window1.xaml#listviewemployee)] + [!code-xaml[ListViewCode#ListViewEmployee](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ListViewCode/CSharp/Window1.xaml#listviewemployee)] - この例の表示結果を次の図に示します。 + 次の図は、この例の表示方法を示します。 - ![GridView 出力を含む ListView](../../../../docs/framework/wpf/controls/media/listviewgridview.png "ListViewGridView") + ![GridView 出力を含む ListView](../../../../docs/framework/wpf/controls/media/listviewgridview.JPG "ListViewGridView") -## 参照 - - - [ListView の概要](../../../../docs/framework/wpf/controls/listview-overview.md) - [GridView の概要](../../../../docs/framework/wpf/controls/gridview-overview.md) - [方法のトピック](../../../../docs/framework/wpf/controls/listview-how-to-topics.md) \ No newline at end of file +## 関連項目 + + + [ListView の概要](../../../../docs/framework/wpf/controls/listview-overview.md) + [GridView の概要](../../../../docs/framework/wpf/controls/gridview-overview.md) + [方法トピック](../../../../docs/framework/wpf/controls/listview-how-to-topics.md) diff --git a/docs/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md b/docs/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md index 6ff666199f2..211f2f763ef 100644 --- a/docs/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md +++ b/docs/framework/wpf/controls/how-to-implement-validation-with-the-datagrid-control.md @@ -1,102 +1,108 @@ ---- -title: "方法: DataGrid コントロールを使用して検証を実装する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "DataGrid [WPF], 検証" - - "検証 [WPF], DataGrid" +--- +title: "方法: DataGrid コントロールを使用して検証を実装する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- DataGrid [WPF], validation +- validation [WPF], DataGrid ms.assetid: ec6078a8-1e42-4648-b414-f4348e81bda1 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 9 ---- -# 方法: DataGrid コントロールを使用して検証を実装する - コントロールでは、セル レベルと行レベルの両方で検証を実行できます。 セル レベルの検証では、ユーザーが値を更新したときに、バインドされたデータ オブジェクトの個々のプロパティを検証します。 行レベルの検証では、ユーザーが行に対する変更をコミットしたときに、データ オブジェクト全体を検証します。 検証エラーに対してカスタマイズした視覚的フィードバックを提供したり、 コントロールで提供される既定の視覚的フィードバックを使用したりすることもできます。 +caps.latest.revision: "9" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 8c611919b5702877db34e9a02e367312678a1b27 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法: DataGrid コントロールを使用して検証を実装する +コントロールでは、セルと行の両方のレベルに検証を実行することができます。 セル レベルの検証、ユーザーが値を更新したときに、バインドされたデータ オブジェクトの個々 のプロパティを検証します。 行レベルの検証、ユーザーが行に変更をコミット時に、データ オブジェクト全体を検証します。 検証エラーのカスタマイズされた視覚的なフィードバックを提供したり、既定の視覚的フィードバックを使用する、コントロールを提供します。 - 以下の手順では、検証規則を バインディングに適用し、視覚的フィードバックをカスタマイズする方法について説明します。 + 次の手順の検証ルールを適用する方法について説明バインドし、視覚的なフィードバックをカスタマイズします。 -### 個別のセル値を検証するには +### 個々 のセル値を検証するには -- 列で使用されるバインディングに対して 1 つ以上の検証規則を指定します。 これは、「[データ バインドの概要](../../../../docs/framework/wpf/data/data-binding-overview.md)」に説明されている単純なコントロールのデータの検証に似ています。 +- 列で使用されるバインディングの 1 つまたは複数の検証規則を指定します。 これがに似ていますが、単純なコントロールのデータの検証」の説明に従って[データ バインディングの概要](../../../../docs/framework/wpf/data/data-binding-overview.md)です。 - 次の例では、ビジネス オブジェクトの別々のプロパティにバインドされた 4 つの列がある コントロールを示します。 そのうちの 3 つの列では、 プロパティを `true` に設定して、 を指定しています。 + 次の例は、ビジネス オブジェクトのさまざまなプロパティにバインドされている 4 つの列を持つコントロール。 3 つの列の指定、を設定して、プロパティを`true`です。 - [!code-xml[DataGrid_Validation#BasicXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/window1.xaml#basicxaml)] + [!code-xaml[DataGrid_Validation#BasicXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/window1.xaml#basicxaml)] - ユーザーが無効な値 \(Course ID 列の整数以外など\) を入力すると、赤い枠線がセルの周囲に表示されます。 この既定の検証フィードバックは、次の手順に従って変更できます。 + (非整数コース ID 列に) などの無効な値を入力すると、セルの周囲に赤い境界線が表示されます。 この既定の検証のフィードバックの次の手順に従ってを変更することができます。 -### セルの検証フィードバックをカスタマイズするには +### セルの検証フィードバックをカスタマイズするには -- 列の プロパティを、列の編集コントロールに適したスタイルに設定します。 編集コントロールは実行時に作成されるため、単純なコントロールのように 添付プロパティを使用することはできません。 +- 列の設定スタイル プロパティは、列の編集コントロールに対して適切な。 使用することはできませんの編集コントロールは、実行時に作成される、ため、添付プロパティの単純なコントロールの場合と同様にします。 - 次の例では、前の例を更新して、検証規則のある 3 つの列で共有されるエラー スタイルを追加します。 ユーザーが無効な値を入力すると、スタイルによってセルの背景色が変更され、ツールヒントが追加されます。 トリガーを使用して検証エラーがあるかどうかを確認していることに注意してください。 現在はセル用のエラー テンプレートがないため、この処理が必要です。 + 次の例では、検証規則に 3 つの列で共有されるエラーのスタイルを追加することで、前の例を更新します。 無効な値を入力すると、スタイルがセルの背景色が変更され、ツールヒントを追加します。 検証エラーがあるかどうかを判断するトリガーの使用に注意してください。 現在のセルの専用エラー テンプレートがないために必要です。 - [!code-xml[DataGrid_Validation#CellValidationXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#cellvalidationxaml)] + [!code-xaml[DataGrid_Validation#CellValidationXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#cellvalidationxaml)] - 列で使用される を置き換えると、より広範囲なカスタマイズを実装できます。 + 広範囲にわたるカスタマイズを実装するには置き換えることで、列で使用します。 -### 単一行の複数の値を検証するには +### 1 つの行に複数の値を検証するには -1. バインドされたデータ オブジェクトの複数のプロパティをチェックする サブクラスを実装します。 メソッドの実装で、`value` パラメーターの値を インスタンスにキャストします。 その後、 プロパティを使用してデータ オブジェクトにアクセスできます。 +1. 実装するバインドされたデータ オブジェクトの複数のプロパティをチェックするサブクラスです。 メソッドの実装、キャスト、`value`パラメーター値をインスタンス。 データ オブジェクトにアクセスすることができます、プロパティです。 - この処理によって `Course` オブジェクトの `StartDate` プロパティ値が `EndDate` プロパティ値より前かどうかを検証する例を次に示します。 + 次の例では、このプロセスを検証するかどうか、`StartDate`のプロパティの値、`Course`オブジェクトよりも前か、`EndDate`プロパティの値。 - [!code-csharp[DataGrid_Validation#CourseValidationRule](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml.cs#coursevalidationrule)] + [!code-csharp[DataGrid_Validation#CourseValidationRule](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml.cs#coursevalidationrule)] [!code-vb[DataGrid_Validation#CourseValidationRule](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/datagrid_validation/vb/mainwindow.xaml.vb#coursevalidationrule)] -2. コレクションに検証規則を追加します。 プロパティは、コントロールで使用されるすべてのバインディングをグループ化する インスタンスの プロパティへの直接アクセスを可能にします。 +2. 検証規則を追加、コレクション。 プロパティに直接アクセスを提供する、のプロパティ、コントロールによって使用されるすべてのバインディングをグループ化するインスタンス。 - XAML に プロパティを設定する例を次に示します。 プロパティが に設定されているため、検証はバインドされたデータ オブジェクトの更新後にのみ行われます。 + 次の例のセット、 XAML でのプロパティです。 プロパティに設定されているバインドされたデータ オブジェクトが更新された後にのみ検証が行われるようにします。 - [!code-xml[DataGrid_Validation#RowValidationRulesXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#rowvalidationrulesxaml)] + [!code-xaml[DataGrid_Validation#RowValidationRulesXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#rowvalidationrulesxaml)] - ユーザーが、開始日より前の終了日を指定すると、赤い感嘆符 \(\!\) が行ヘッダーに表示されます。 この既定の検証フィードバックは、次の手順に従って変更できます。 + ユーザーは、開始日より前である終了日を指定する場合、行ヘッダーに赤の感嘆符 (!) が表示されます。 この既定の検証のフィードバックの次の手順に従ってを変更することができます。 -### 行の検証フィードバックをカスタマイズするには +### 行の検証フィードバックをカスタマイズするには -- プロパティを設定します。 このプロパティを使用して、個々の コントロールの行の検証フィードバックをカスタマイズできます。 暗黙の行スタイルを使用して プロパティを設定することにより、複数のコントロールに影響を与えることもできます。 +- プロパティを設定します。 このプロパティでは、個々 の行の検証のフィードバックをカスタマイズすることができますコントロール。 複数のコントロールを設定する、暗黙の行のスタイルを使用しても影響、プロパティです。 - より視覚的なインジケーターで既定の行の検証フィードバックを置き換える例を次に示します。 ユーザーが無効な値を入力すると、赤い円で囲まれた白い感嘆符が行ヘッダーに表示されます。 これは、行とセルのどちらの検証エラーでも発生します。 関連付けられているエラー メッセージがツールヒントに表示されます。 + 次の例は、既定行の検証のフィードバックをより見やすくインジケーターに置き換えます。 無効な値を入力すると、行ヘッダーに、赤い円と白い感嘆符が表示されます。 これは、行とセルの両方の検証エラーが発生します。 ツールヒントには、関連するエラー メッセージが表示されます。 - [!code-xml[DataGrid_Validation#RowValidationFeedbackXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#rowvalidationfeedbackxaml)] + [!code-xaml[DataGrid_Validation#RowValidationFeedbackXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#rowvalidationfeedbackxaml)] -## 使用例 - 次の例では、セルおよび行の検証の詳細なデモンストレーションを示します。 `Course` クラスは、トランザクションをサポートするために、 を実装するサンプル データ オブジェクトを提供します。 コントロールは、 とやり取りして、ユーザーが Esc キーを押すことで変更を元に戻せるようにします。 +## 例 + 次の例では、セルと行の検証の完了のデモを提供します。 `Course`クラスを実装するサンプル データ オブジェクトを提供するトランザクションをサポートします。 コントロールが対話をユーザーが esc キーを押して変更を元に戻すを有効にします。 > [!NOTE] -> Visual Basic を使用している場合は、MainWindow.xaml の最初の行で、`x:Class="DataGridValidation.MainWindow"` を `x:Class="MainWindow"` に置き換えてください。 +> Visual Basic で MainWindow.xaml の最初の行を使用している場合は置き換えます`x:Class="DataGridValidation.MainWindow"`で`x:Class="MainWindow"`です。 - 検証をテストするには、次の操作を試します。 + 検証をテストするには、次を試してください。 -- Course ID 列に、整数以外の値を入力します。 +- コース ID 列で整数以外の値を入力します。 -- End Date 列に、Start Date より前の日付を入力します。 +- 終了日列で、開始日より前の日付を入力します。 -- Course ID、Start Date、または End Date の値を削除します。 +- コース ID、開始日または終了日の値を削除します。 -- 無効なセル値を元に戻すには、カーソルをセルに戻し、Esc キーを押します。 +- 無効なセル値を元に戻すには、セルに戻し、カーソルを置くし、ESC キーを押します。 -- 現在のセルが編集モードのときに行全体の変更を元に戻すには、Esc キーを 2 回押します。 +- 現在のセルが編集モードの場合は、全体の行の変更を元に戻す、ESC キーを 2 回押します。 -- 検証エラーが発生した場合は、行ヘッダーのインジケーターの上にマウス ポインターを移動すると、関連するエラー メッセージが表示されます。 +- 検証エラーが発生したときに、関連するエラー メッセージを表示する行ヘッダーのインジケーターの上にマウス ポインターを移動します。 - [!code-csharp[DataGrid_Validation#FullCode](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml.cs#fullcode)] + [!code-csharp[DataGrid_Validation#FullCode](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml.cs#fullcode)] [!code-vb[DataGrid_Validation#FullCode](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/datagrid_validation/vb/mainwindow.xaml.vb#fullcode)] - [!code-xml[DataGrid_Validation#FullXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#fullxaml)] + [!code-xaml[DataGrid_Validation#FullXaml](../../../../samples/snippets/csharp/VS_Snippets_Wpf/datagrid_validation/cs/mainwindow.xaml#fullxaml)] -## 参照 - - [DataGrid](../../../../docs/framework/wpf/controls/datagrid.md) - [データ バインディング](../../../../docs/framework/wpf/data/data-binding-wpf.md) - [バインディングの検証の実装](../../../../docs/framework/wpf/data/how-to-implement-binding-validation.md) - [カスタム オブジェクトに検証ロジックを実装する](../../../../docs/framework/wpf/data/how-to-implement-validation-logic-on-custom-objects.md) \ No newline at end of file +## 関連項目 + + [DataGrid](../../../../docs/framework/wpf/controls/datagrid.md) + [データ バインディング](../../../../docs/framework/wpf/data/data-binding-wpf.md) + [バインディングの検証の実装](../../../../docs/framework/wpf/data/how-to-implement-binding-validation.md) + [カスタム オブジェクトに検証ロジックを実装する](../../../../docs/framework/wpf/data/how-to-implement-validation-logic-on-custom-objects.md) diff --git a/docs/framework/wpf/controls/how-to-use-the-attached-properties-of-canvas-to-position-child-elements.md b/docs/framework/wpf/controls/how-to-use-the-attached-properties-of-canvas-to-position-child-elements.md index 8b0caffc8c3..3c2b1c69f63 100644 --- a/docs/framework/wpf/controls/how-to-use-the-attached-properties-of-canvas-to-position-child-elements.md +++ b/docs/framework/wpf/controls/how-to-use-the-attached-properties-of-canvas-to-position-child-elements.md @@ -1,41 +1,48 @@ ---- -title: "方法 : Canvas の添付プロパティを使用して子要素を配置する | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "添付プロパティ [WPF デザイナー]" - - "Canvas コントロール, 添付プロパティ" +--- +title: "方法 : Canvas の添付プロパティを使用して子要素を配置する" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +- cpp +helpviewer_keywords: +- attached properties [WPF Designer] +- Canvas control [WPF], attached properties ms.assetid: 48f1d25d-3820-4107-a4cc-d6c1e5664a44 -caps.latest.revision: 13 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 12 ---- -# 方法 : Canvas の添付プロパティを使用して子要素を配置する -この例では、 の[添付プロパティ](GTMT)を使用して子要素を配置する方法を示します。 +caps.latest.revision: "13" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 85ee852c868f26937494d5d340d2db4210224754 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# 方法 : Canvas の添付プロパティを使用して子要素を配置する +この例は、の添付プロパティを使用する方法を示しています。子要素を配置します。 -## 使用例 - 次の例では、4 つの 要素を親 の子要素として追加します。 各子要素は、 の異なる添付プロパティである 、および を表します。 各 は、親の を基準に、割り当てられているプロパティ値に従って配置されます。 +## 例 + 次の例 4要素を親の子要素としてです。 各子要素の個別の添付プロパティを表す: 、およびです。 各が親を基準に配置されているとその割り当てられたプロパティの値に従って、します。 - [!code-cpp[CanvasAttachedProperties#1](../../../../samples/snippets/cpp/VS_Snippets_Wpf/CanvasAttachedProperties/CPP/CanvasAttachedProps.cpp#1)] - [!code-csharp[CanvasAttachedProperties#1](../../../../samples/snippets/csharp/VS_Snippets_Wpf/CanvasAttachedProperties/CSharp/CanvasAttachedProps.cs#1)] + [!code-cpp[CanvasAttachedProperties#1](../../../../samples/snippets/cpp/VS_Snippets_Wpf/CanvasAttachedProperties/CPP/CanvasAttachedProps.cpp#1)] + [!code-csharp[CanvasAttachedProperties#1](../../../../samples/snippets/csharp/VS_Snippets_Wpf/CanvasAttachedProperties/CSharp/CanvasAttachedProps.cs#1)] [!code-vb[CanvasAttachedProperties#1](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/CanvasAttachedProperties/VisualBasic/CanvasAttachedProps.vb#1)] -## 参照 - - - - - - - [パネルの概要](../../../../docs/framework/wpf/controls/panels-overview.md) - [方法のトピック](../../../../docs/framework/wpf/controls/canvas-how-to-topics.md) - [添付プロパティの概要](../../../../docs/framework/wpf/advanced/attached-properties-overview.md) \ No newline at end of file +## 関連項目 + + + + + + + [パネルの概要](../../../../docs/framework/wpf/controls/panels-overview.md) + [方法トピック](../../../../docs/framework/wpf/controls/canvas-how-to-topics.md) + [添付プロパティの概要](../../../../docs/framework/wpf/advanced/attached-properties-overview.md) diff --git a/docs/framework/wpf/controls/repeatbutton-syles-and-templates.md b/docs/framework/wpf/controls/repeatbutton-syles-and-templates.md index 6f143c56964..b174a1e0987 100644 --- a/docs/framework/wpf/controls/repeatbutton-syles-and-templates.md +++ b/docs/framework/wpf/controls/repeatbutton-syles-and-templates.md @@ -1,65 +1,67 @@ ---- -title: "RepeatButton のスタイルとテンプレート | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "ControlTemplate [WPF], RepeatButton" - - "パーツ [WPF], RepeatButton" - - "RepeatButton [WPF], スタイルおよびテンプレート" - - "状態 [WPF], RepeatButton" - - "スタイル [WPF], RepeatButton" - - "テンプレート [WPF], RepeatButton" +--- +title: "RepeatButton のスタイルとテンプレート" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- RepeatButton [WPF], styles and templates +- styles [WPF], RepeatButton +- templates [WPF], RepeatButton +- parts [WPF], RepeatButton +- ControlTemplate [WPF], RepeatButton +- states [WPF], RepeatButton ms.assetid: fd340743-f44f-4990-9077-085301469670 -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 9 ---- -# RepeatButton のスタイルとテンプレート -このトピックでは、 コントロールのスタイルおよびテンプレートについて説明します。 既定の に変更を加えることで、コントロールに独自の外観を設定できます。 詳細については、「[ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md)」を参照してください。 +caps.latest.revision: "9" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 4895757e909d5e15fd6540b19e1eeec414e1f4e7 +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# RepeatButton のスタイルとテンプレート +このトピックは、のスタイルとテンプレートについて説明します、コントロール。 既定値を変更することができますコントロールの外観を一意にします。 詳細については、「[Customizing the Appearance of an Existing Control by Creating a ControlTemplate](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md)」を参照してください。 -## RepeatButton のパーツ - コントロールには、名前付きのパーツは存在しません。 +## RepeatButton 部分 + コントロールには、その名前付きの部分はありません。 -## RepeatButton の状態 - 次の表は、 コントロールの表示状態の一覧です。 +## RepeatButton 状態 + 次の表に、用ビジュアル状態、コントロール。 -|||| +|VisualState 名|VisualStateGroup 名|説明| |-|-|-| -|VisualState 名|VisualStateGroup 名|Description| -|Normal|CommonStates|既定の状態です。| +|標準|CommonStates|既定の状態です。| |MouseOver|CommonStates|マウス ポインターがコントロール上に配置されています。| -|Pressed|CommonStates|コントロールが押されています。| -|Disabled|CommonStates|コントロールが無効になっています。| -|Focused|FocusStates|コントロールにフォーカスがあります。| -|Unfocused|FocusStates|コントロールにフォーカスがありません。| -|Valid|ValidationStates|このコントロールは クラスを使用し、 添付プロパティは `false` です。| -|InvalidFocused|ValidationStates| 添付プロパティは `true` で、コントロールにはフォーカスがあります。| -|InvalidUnfocused|ValidationStates| 添付プロパティは `true` で、コントロールにはフォーカスがありません。| +|押されている|CommonStates|コントロールが押されています。| +|無効|CommonStates|コントロールが無効になっています。| +|フォーカスされている|FocusStates|コントロールにフォーカスがあります。| +|フォーカスされていない|FocusStates|コントロールにフォーカスがありません。| +|有効|ValidationStates|コントロールを使用して、クラスおよび添付プロパティは`false`します。| +|InvalidFocused|ValidationStates|添付プロパティは`true`がコントロールにフォーカスします。| +|InvalidUnfocused|ValidationStates|添付プロパティは`true`がコントロールにフォーカスがないです。| -## RepeatButton ControlTemplate の例 - 次の例は、 コントロールの を定義する方法を示しています。 +## RepeatButton ControlTemplate の例 + 次の例は、定義する方法を示します、コントロール。 - [!code-xml[ControlTemplateExamples#RepeatButton](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/scrollbar.xaml#repeatbutton)] + [!code-xaml[ControlTemplateExamples#RepeatButton](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/scrollbar.xaml#repeatbutton)] - 前の例では、次の 1 つ以上のリソースを使用しています。 + 前の例では、次のリソースの 1 つ以上を使用します。 - [!code-xml[ControlTemplateExamples#Resources](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/shared.xaml#resources)] + [!code-xaml[ControlTemplateExamples#Resources](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/shared.xaml#resources)] - サンプル全体については、「[ControlTemplate を使用したスタイル設定のサンプル](http://go.microsoft.com/fwlink/?LinkID=160041)」を参照してください。. + 完全なサンプルについては、[Styling with ControlTemplates Sample](http://go.microsoft.com/fwlink/?LinkID=160041)を参照してください。 -## 参照 - - - [コントロールのスタイルとテンプレート](../../../../docs/framework/wpf/controls/control-styles-and-templates.md) - [コントロールのカスタマイズ](../../../../docs/framework/wpf/controls/control-customization.md) - [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) - [ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md) \ No newline at end of file +## 関連項目 + + + [コントロールのスタイルとテンプレート](../../../../docs/framework/wpf/controls/control-styles-and-templates.md) + [コントロールのカスタマイズ](../../../../docs/framework/wpf/controls/control-customization.md) + [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) + [ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md) diff --git a/docs/framework/wpf/controls/thumb-syles-and-templates.md b/docs/framework/wpf/controls/thumb-syles-and-templates.md index 175fe2fc086..11ea820ba89 100644 --- a/docs/framework/wpf/controls/thumb-syles-and-templates.md +++ b/docs/framework/wpf/controls/thumb-syles-and-templates.md @@ -1,65 +1,67 @@ ---- -title: "つまみのスタイルとテンプレート | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "ControlTemplate [WPF], つまみ" - - "パーツ [WPF], つまみ" - - "状態 [WPF], つまみ" - - "スタイル [WPF], つまみ" - - "テンプレート [WPF], つまみ" - - "Thumb [WPF], スタイルおよびテンプレート" +--- +title: "つまみのスタイルとテンプレート" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- states [WPF], Thumb +- styles [WPF], Thumb +- templates [WPF], Thumb +- Thumb [WPF], styles and templates +- ControlTemplate [WPF], Thumb +- parts [WPF], Thumb ms.assetid: 86a49235-62d9-414e-923e-53126e3f930a -caps.latest.revision: 9 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 9 ---- -# つまみのスタイルとテンプレート -このトピックでは、 コントロールのスタイルおよびテンプレートについて説明します。 既定の に変更を加えることで、コントロールに独自の外観を設定できます。 詳細については、「[ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md)」を参照してください。 +caps.latest.revision: "9" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: 7d9f0b8559497939737b97568a679953d392d5be +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# つまみのスタイルとテンプレート +このトピックは、のスタイルとテンプレートについて説明します、コントロール。 既定値を変更することができますコントロールの外観を一意にします。 詳細については、「[Customizing the Appearance of an Existing Control by Creating a ControlTemplate](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md)」を参照してください。 -## Thumb のパーツ - コントロールには、名前付きのパーツは存在しません。 +## つまみのパーツ + コントロールには、その名前付きの部分はありません。 -## Thumb の状態 - 次の表は、 コントロールの表示状態の一覧です。 +## つまみの状態 + 次の表に、用ビジュアル状態、コントロール。 -|||| +|VisualState 名|VisualStateGroup 名|説明| |-|-|-| -|VisualState 名|VisualStateGroup 名|Description| -|Normal|CommonStates|既定の状態です。| +|標準|CommonStates|既定の状態です。| |MouseOver|CommonStates|マウス ポインターがコントロール上に配置されています。| -|Pressed|CommonStates|コントロールが押されています。| -|Disabled|CommonStates|コントロールが無効になっています。| -|Focused|FocusStates|コントロールにフォーカスがあります。| -|Unfocused|FocusStates|コントロールにフォーカスがありません。| -|Valid|ValidationStates|このコントロールは クラスを使用し、 添付プロパティは `false` です。| -|InvalidFocused|ValidationStates| 添付プロパティは `true` で、コントロールにはフォーカスがあります。| -|InvalidUnfocused|ValidationStates| 添付プロパティは `true` で、コントロールにはフォーカスがありません。| +|押されている|CommonStates|コントロールが押されています。| +|無効|CommonStates|コントロールが無効になっています。| +|フォーカスされている|FocusStates|コントロールにフォーカスがあります。| +|フォーカスされていない|FocusStates|コントロールにフォーカスがありません。| +|有効|ValidationStates|コントロールを使用して、クラスおよび添付プロパティは`false`します。| +|InvalidFocused|ValidationStates|添付プロパティは`true`がコントロールにフォーカスします。| +|InvalidUnfocused|ValidationStates|添付プロパティは`true`がコントロールにフォーカスがないです。| -## Thumb ControlTemplate の例 - 次の例は、 コントロールの を定義する方法を示しています。 +## Thumb ControlTemplate の例 + 次の例は、定義する方法を示します、コントロール。 - [!code-xml[ControlTemplateExamples#Thumb](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/slider.xaml#thumb)] + [!code-xaml[ControlTemplateExamples#Thumb](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/slider.xaml#thumb)] - 前の例では、次の 1 つ以上のリソースを使用しています。 + 前の例では、次のリソースの 1 つ以上を使用します。 - [!code-xml[ControlTemplateExamples#Resources](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/shared.xaml#resources)] + [!code-xaml[ControlTemplateExamples#Resources](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/shared.xaml#resources)] - サンプル全体については、「[ControlTemplate を使用したスタイル設定のサンプル](http://go.microsoft.com/fwlink/?LinkID=160041)」を参照してください。. + 完全なサンプルについては、[Styling with ControlTemplates Sample](http://go.microsoft.com/fwlink/?LinkID=160041)を参照してください。 -## 参照 - - - [コントロールのスタイルとテンプレート](../../../../docs/framework/wpf/controls/control-styles-and-templates.md) - [コントロールのカスタマイズ](../../../../docs/framework/wpf/controls/control-customization.md) - [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) - [ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md) \ No newline at end of file +## 関連項目 + + + [コントロールのスタイルとテンプレート](../../../../docs/framework/wpf/controls/control-styles-and-templates.md) + [コントロールのカスタマイズ](../../../../docs/framework/wpf/controls/control-customization.md) + [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) + [ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md) diff --git a/docs/framework/wpf/controls/tooltip-styles-and-templates.md b/docs/framework/wpf/controls/tooltip-styles-and-templates.md index df0457eaa58..75e294b20a0 100644 --- a/docs/framework/wpf/controls/tooltip-styles-and-templates.md +++ b/docs/framework/wpf/controls/tooltip-styles-and-templates.md @@ -1,61 +1,63 @@ ---- -title: "ToolTip のスタイルとテンプレート | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "ControlTemplate [WPF], ヒント" - - "パーツ [WPF], ヒント" - - "状態 [WPF], ヒント" - - "スタイル [WPF], ヒント" - - "テンプレート [WPF], ヒント" - - "ToolTip [WPF], スタイルおよびテンプレート" +--- +title: "ToolTip のスタイルとテンプレート" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +helpviewer_keywords: +- parts [WPF], ToolTip +- styles [WPF], ToolTip +- states [WPF], ToolTip +- ToolTip [WPF], styles and templates +- ControlTemplate [WPF], ToolTip +- templates [WPF], ToolTip ms.assetid: 405fe385-4de9-49ee-a448-d8f4d1f740dd -caps.latest.revision: 14 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 14 ---- -# ToolTip のスタイルとテンプレート -このトピックでは、 コントロールのスタイルおよびテンプレートについて説明します。 既定の に変更を加えることで、コントロールに独自の外観を設定できます。 詳細については、「[ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md)」を参照してください。 - -## ToolTip のパーツ - コントロールには、名前付きのパーツは存在しません。 - -## ToolTip の状態 - 次の表は、 コントロールの表示状態の一覧です。 - -|||| +caps.latest.revision: "14" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: ec946e7982983519a317ee1936e8584eef63479c +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# ToolTip のスタイルとテンプレート +このトピックは、のスタイルとテンプレートについて説明します、コントロール。 既定値を変更することができますコントロールの外観を一意にします。 詳細については、「[Customizing the Appearance of an Existing Control by Creating a ControlTemplate](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md)」を参照してください。 + +## ツールヒントのパーツ + コントロールには、その名前付きの部分はありません。 + +## ツール ヒントの状態 + 次の表に、用ビジュアル状態、コントロール。 + +|VisualState 名|VisualStateGroup 名|説明| |-|-|-| -|VisualState 名|VisualStateGroup 名|Description| |Closed|OpenStates|既定の状態です。| -|\[Open\]|OpenStates| が表示されます。| -|Valid|ValidationStates|このコントロールは クラスを使用し、 添付プロパティは `false` です。| -|InvalidFocused|ValidationStates| 添付プロパティは `true` で、コントロールにはフォーカスがあります。| -|InvalidUnfocused|ValidationStates| 添付プロパティは `true` で、コントロールにはフォーカスがありません。| +|開く|OpenStates|が表示されます。| +|有効|ValidationStates|コントロールを使用して、クラスおよび添付プロパティは`false`します。| +|InvalidFocused|ValidationStates|添付プロパティは`true`がコントロールにフォーカスします。| +|InvalidUnfocused|ValidationStates|添付プロパティは`true`がコントロールにフォーカスがないです。| -## ToolTip ControlTemplate の例 - 次の例は、 コントロールの を定義する方法を示しています。 +## ツールヒント ControlTemplate の例 + 次の例は、定義する方法を示します、コントロール。 - [!code-xml[ControlTemplateExamples#ToolTip](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/tooltip.xaml#tooltip)] + [!code-xaml[ControlTemplateExamples#ToolTip](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/tooltip.xaml#tooltip)] - 前の例では、次の 1 つ以上のリソースを使用しています。 + 前の例では、次のリソースの 1 つ以上を使用します。 - [!code-xml[ControlTemplateExamples#Resources](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/shared.xaml#resources)] + [!code-xaml[ControlTemplateExamples#Resources](../../../../samples/snippets/csharp/VS_Snippets_Wpf/ControlTemplateExamples/CS/resources/shared.xaml#resources)] - サンプル全体については、「[ControlTemplate を使用したスタイル設定のサンプル](http://go.microsoft.com/fwlink/?LinkID=160041)」を参照してください。. + 完全なサンプルについては、[Styling with ControlTemplates Sample](http://go.microsoft.com/fwlink/?LinkID=160041)を参照してください。 -## 参照 - - - [コントロールのスタイルとテンプレート](../../../../docs/framework/wpf/controls/control-styles-and-templates.md) - [コントロールのカスタマイズ](../../../../docs/framework/wpf/controls/control-customization.md) - [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) - [ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md) \ No newline at end of file +## 関連項目 + + + [コントロールのスタイルとテンプレート](../../../../docs/framework/wpf/controls/control-styles-and-templates.md) + [コントロールのカスタマイズ](../../../../docs/framework/wpf/controls/control-customization.md) + [スタイルとテンプレート](../../../../docs/framework/wpf/controls/styling-and-templating.md) + [ControlTemplate の作成による既存のコントロールの外観のカスタマイズ](../../../../docs/framework/wpf/controls/customizing-the-appearance-of-an-existing-control.md) diff --git a/docs/framework/wpf/controls/ui-automation-of-a-wpf-custom-control.md b/docs/framework/wpf/controls/ui-automation-of-a-wpf-custom-control.md index 35ed813bbdd..8531b8be2e6 100644 --- a/docs/framework/wpf/controls/ui-automation-of-a-wpf-custom-control.md +++ b/docs/framework/wpf/controls/ui-automation-of-a-wpf-custom-control.md @@ -1,67 +1,73 @@ ---- -title: "WPF カスタム コントロールの UI オートメーション | Microsoft Docs" -ms.custom: "" -ms.date: "03/30/2017" -ms.prod: ".net-framework-4.6" -ms.reviewer: "" -ms.suite: "" -ms.technology: - - "dotnet-wpf" -ms.tgt_pltfrm: "" -ms.topic: "article" -helpviewer_keywords: - - "UI オートメーションを適用するカスタム コントロール [WPF]" - - "カスタム コントロールに適用することにユーザー補助 [WPF]" - - "ユーザー補助機能を向上させるカスタム コントロール [WPF]" - - "カスタム コントロールで使用する UI オートメーション [WPF]" +--- +title: "WPF カスタム コントロールの UI オートメーション" +ms.custom: +ms.date: 03/30/2017 +ms.prod: .net-framework +ms.reviewer: +ms.suite: +ms.technology: dotnet-wpf +ms.tgt_pltfrm: +ms.topic: article +dev_langs: +- csharp +- vb +helpviewer_keywords: +- custom controls [WPF], applying UI automation +- accessibility [WPF], applying to custom controls +- custom controls [WPF], improving accessibility +- UI Automation [WPF], using with custom controls ms.assetid: 47b310fc-fbd5-4ce2-a606-22d04c6d4911 -caps.latest.revision: 34 -author: "dotnet-bot" -ms.author: "dotnetcontent" -manager: "wpickett" -caps.handback.revision: 34 ---- -# WPF カスタム コントロールの UI オートメーション -[!INCLUDE[TLA#tla_uiautomation](../../../../includes/tlasharptla-uiautomation-md.md)]クライアントを確認またはさまざまなプラットフォームやフレームワークのユーザー インターフェイスの操作を使用してその自動化機能を単一の汎用的なインターフェイスを提供します。 [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]品質保証 (テスト) のコードとユーザー インターフェイス要素を調べて、他のコードからそれらにユーザーの操作をシュミレーションにスクリーン リーダーなどのユーザー補助アプリケーションの両方を使用できます。 については[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]すべてのプラットフォームでは、ユーザー補助機能を参照してください。 - - このトピックでは、WPF アプリケーションで実行されるカスタム コントロール用のサーバー側 UI オートメーション プロバイダーを実装する方法について説明します。 WPF でサポートされる[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]ピア オートメーション オブジェクトのツリーで、ユーザー インターフェイス要素のツリーに似ています。 コードとユーザー補助機能がピア オブジェクトを使用して直接 (インプロセス コード用) を提供するアプリケーションをテストまたは汎用化されたインターフェイスによって提供される[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]します。 +caps.latest.revision: "34" +author: dotnet-bot +ms.author: dotnetcontent +manager: wpickett +ms.openlocfilehash: d10c11cfcacb435438695b0e76ee8982ba9ef24a +ms.sourcegitcommit: 4f3fef493080a43e70e951223894768d36ce430a +ms.translationtype: MT +ms.contentlocale: ja-JP +ms.lasthandoff: 11/21/2017 +--- +# WPF カスタム コントロールの UI オートメーション +[!INCLUDE[TLA#tla_uiautomation](../../../../includes/tlasharptla-uiautomation-md.md)] は、オートメーション クライアントが使用してさまざまなプラットフォームやフレームワークのユーザー インターフェイスを調査または操作できる、単一の汎用的なインターフェイスを提供します。 [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] では、品質保証 (テスト) のコードとスクリーン リーダーなどのユーザー補助アプリケーションの両方を使用して、ユーザー インターフェイス要素を調べて、他のコードからその要素を使用してユーザーの操作をシュミレーションできます。 すべてのプラットフォームにまたがる [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] について詳しくは、「ユーザー補助機能」を参照してください。 + + このトピックでは、WPF アプリケーションで動作するカスタム コントロールのサーバー側 UI オートメーション プロバイダーを実装する方法について説明します。 WPF は、ユーザー インターフェイス要素のツリーに対応するピア オートメーション オブジェクトのツリーを使用して [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] をサポートします。 テスト コードおよびユーザー補助機能を提供するアプリケーションは、オートメーション ピア オブジェクトを直接 (プロセス内コードに対して)、または [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] が提供する汎用のインターフェイスを介して使用できます。 ## オートメーション ピア クラス - コントロールがサポートする WPF[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]ピア クラスから派生するツリーを通じたします。 規則は、ピア クラス名は、コントロールのクラス名で始まるし、"AutomationPeer"で終了します。 たとえば、 のピア クラスである、コントロール クラス。 ピア クラスはほぼ同じ[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]コントロール型が、合わせて[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)]要素。 オートメーション コード経由での WPF アプリケーションにアクセスする、[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]インターフェイスがオートメーション ピアを直接使用されませんが、同じプロセス空間での自動化のサンプル コードでは、オートメーション ピアを直接使用することができます。 + WPF のサポートを制御する[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]のピア クラスから派生したツリーを通じてです。 規則上、ピア クラス名は、コントロールのクラス名で始まり、"AutomationPeer" で終わります。 たとえば、のピア クラス、コントロール クラス。 ピア クラスは、[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] コントロール型とほぼ同等ですが、[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)] 要素専用です。 [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] インターフェイスを介して WPF アプリケーションにアクセスするオートメーション コードは、オートメーション ピアを直接使用しませんが、同じプロセス空間のオートメーション コードは、オートメーション ピアを直接使用できます。 ## 組み込みのオートメーション ピア クラス - 要素は、スクリーン リーダー アプリケーションのユーザーによって必要な情報が含まれている場合や、ユーザー インターフェイスのアクティビティを受け入れる場合、オートメーション ピア クラスを実装します。 すべての WPF のビジュアル要素は、オートメーションのピアを持っています。 オートメーション ピアを実装するクラスの例としては、します。 オートメーション ピアを実装していないクラスの例から派生するクラスにはなどとクラスに基づいてなどします。 + 要素は、ユーザーからのインターフェイス アクティビティを受け入れる場合、またはスクリーン リーダー アプリケーションのユーザーが必要とする情報が含まれている場合、オートメーション ピア クラスを実装します。 すべての WPF のビジュアル要素にオートメーション ピアがあるわけではありません。 オートメーション ピアを実装するクラスの例としては、およびです。 オートメーション ピアを実装していないクラスの例から派生したクラスにはなど、およびクラスに基づくなどです。 - 基本クラスには、対応するピア クラスがありません。 ピア クラスから派生するカスタム コントロールに対応する必要がある場合からカスタム ピア クラスを派生する必要がありますします。 + 基本クラスには、対応するピア クラスがありません。 ピア クラスから派生するカスタム コントロールに対応する必要がある場合からカスタムのピア クラスを派生する必要がありますです。 -## 派生ピアのセキュリティの考慮事項 - オートメーション ピアは、部分的に信頼された環境で実行する必要があります。 UIAutomationClient アセンブリ内のコードが部分的に信頼された環境で実行が構成されていないと、オートメーション ピアのコードは、そのアセンブリを参照しないでください。 代わりに、UIAutomationTypes アセンブリのクラスを使用する必要があります。 たとえば、使用する必要があります、 クラスに対応する UIAutomationTypes アセンブリから、 UIAutomationClient アセンブリ内のクラスです。 オートメーション ピアのコードで UIAutomationTypes アセンブリを参照すると安全です。 +## 派生ピアのセキュリティに関する考慮事項 + オートメーション ピアは、部分信頼環境で実行する必要があります。 UIAutomationClient アセンブリ内のコードは部分信頼環境で動作するように構成されていないため、オートメーション ピア コードでそのアセンブリを参照しないでください。 代わりに、UIAutomationTypes アセンブリのクラスを使用する必要があります。 たとえば、使用する必要があります、に対応する UIAutomationTypes アセンブリからクラスをUIAutomationClient アセンブリ内のクラスです。 オートメーション ピア コードで UIAutomationTypes アセンブリを参照すると安全です。 -## ピアのナビゲーション - オートメーション ピアを特定すると、プロセス内のコードを呼び出して、オブジェクトのピア ツリーを移動できますメソッドです。 間のナビゲーション[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)]のピアの実装によって、コントロール内の要素がサポートされている、 メソッドです。 UI オートメーション システムは、コントロール内に含まれるサブ要素のツリーを構築するには、このメソッドを呼び出しますたとえば、リスト ボックス内の項目を一覧表示します。 既定値メソッドは、オートメーション ピアのツリーを構築する要素のビジュアル ツリーを走査します。 カスタム コントロールは、子要素を返す情報を伝達するか、ユーザーによる操作が許可される要素のオートメーション ピア オートメーション クライアントに公開するには、このメソッドをオーバーライドします。 +## ピア ナビゲーション + オートメーション ピアを特定すると、プロセス内のコードを呼び出して、オブジェクトのピア ツリーを移動できるメソッドです。 間のナビゲーション[!INCLUDE[TLA2#tla_wpf](../../../../includes/tla2sharptla-wpf-md.md)]のピアの実装によって、コントロール内の要素がサポートされている、メソッドです。 UI オートメーション システムは、このメソッドを呼び出して、コントロール内に含まれるサブ要素のツリーを構築します。たとえば、リスト ボックス内の項目を一覧表示します。 既定値メソッドは、オートメーション ピアのツリーを構築する要素のビジュアル ツリーを走査します。 カスタム コントロールは、このメソッドをオーバーライドして子要素をオートメーション クライアントに公開し、情報を伝達するまたはユーザーによる操作を許可する要素のオートメーション ピアを返します。 -## 派生のピアでのカスタマイズ - すべてのクラスから派生したプロテクト仮想メソッドが含まれてします。 WPF 呼び出し各コントロールのオートメーションのピア オブジェクトを取得します。 コントロールの特性と機能に関する情報を取得し、対話型の使用をシミュレートするために、自動化のサンプル コードは、ピアを使用できます。 オートメーションをサポートするカスタム コントロールをオーバーライドする必要がありますから派生したクラスのインスタンスを返すとします。 たとえば、カスタム コントロールから派生している場合、 クラス、オブジェクトによって返されるから派生する必要がありますします。 +## 派生ピアのカスタマイズ + すべてのクラスから派生するプロテクト仮想メソッドを含むです。 WPF 呼び出し各コントロールのオートメーション ピア オブジェクトを取得します。 オートメーション コードは、ピアを使用して、コントロールの特性と機能に関する情報を取得し、対話型の使用をシミュレートします。 オートメーションをサポートするカスタム コントロールをオーバーライドする必要がありますから派生したクラスのインスタンスを返すとです。 たとえば、カスタム コントロールがから派生している場合、クラス、によって返されるオブジェクトから派生する必要がありますです。 - カスタム コントロールを実装する場合は、カスタム コントロールに固有の動作を説明する基本オートメーション ピア クラスからの"Core"メソッドをオーバーライドする必要があります。 + カスタム コントロールを実装する場合、カスタム コントロールに固有の動作を説明する基本オートメーション ピア クラスからの「コア」メソッドをオーバーライドする必要があります。 -### OnCreateAutomationPeer をオーバーライドします。 - オーバーライド、 メソッドを返す、プロバイダー オブジェクトから直接または間接的に派生する必要がありますので、カスタム コントロールのします。 +### OnCreateAutomationPeer のオーバーライド + 上書き、カスタム コントロールがから直接または間接的に派生する必要があります、プロバイダー オブジェクトを取得するためのメソッドです。 -### GetPattern をオーバーライドします。 - オートメーション ピアは、サーバー側の実装の一部を簡略化[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]パターン インターフェイスは、プロバイダーがカスタム コントロールのオートメーションのピアで処理も必要があります。 WPF 以外のプロバイダーのようにピア コントロール パターンのサポートでのインターフェイスの実装を提供することにより、 名前空間などします。 ピア自体または別のオブジェクトによっては、コントロール パターンのインターフェイスを実装することができます。 ピアの指定したパターンをサポートするオブジェクトを返します。 [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]コードの呼び出し、 メソッドを指定し、 列挙値。 オーバーライド指定したパターンを実装するオブジェクトを返す必要があります。 コントロールが、パターンのカスタム実装を持たない場合の基本型の実装を呼び出すことができますをこの種類のコントロールのパターンがサポートされていない場合、実装、または null のいずれかを取得します。 カスタム NumericUpDown コントロールを設定して、範囲内の値になど、その[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]ピアを実装、 インターフェイスです。 例を次にどのようにピアのに応答するメソッドがオーバーライドされる、 値。 +### GetPattern のオーバーライド + オートメーション ピアは、サーバー側の [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] プロバイダーの実装の一部を簡略化しますが、カスタム コントロール オートメーション ピアでもパターン インターフェイスを処理する必要があります。 非 WPF プロバイダーのようにピア コントロール パターンのサポートでインターフェイスの実装を提供することによって、名前空間などです。 コントロール パターンのインターフェイスは、ピア自体または別のオブジェクトによって実装できます。 ピアの実装の指定されたパターンをサポートするオブジェクトを返します。 [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]コードの呼び出し、メソッドを指定し、列挙値。 オーバーライド指定されたパターンを実装するオブジェクトを返す必要があります。 基本型の実装を呼び出すことができます、コントロールがカスタム パターンの実装を持たない場合をこの種類のコントロール パターンがサポートしていない場合、実装、または null のいずれかを取得します。 範囲内の値に、カスタムの NumericUpDown コントロールを設定するなど、その[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]ピアを実装、インターフェイスです。 例を次にどのようにピアのに応答するメソッドをオーバーライド、値。 - [!code-csharp[CustomControlNumericUpDown#GetPattern](../../../../samples/snippets/csharp/VS_Snippets_Wpf/CustomControlNumericUpDown/CSharp/CustomControlLibrary/NumericUpDown.cs#getpattern)] + [!code-csharp[CustomControlNumericUpDown#GetPattern](../../../../samples/snippets/csharp/VS_Snippets_Wpf/CustomControlNumericUpDown/CSharp/CustomControlLibrary/NumericUpDown.cs#getpattern)] [!code-vb[CustomControlNumericUpDown#GetPattern](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/CustomControlNumericUpDown/visualbasic/customcontrollibrary/numericupdown.vb#getpattern)] - A メソッドではパターン プロバイダーとしてのサブ要素を指定してもできます。 次のコードはどのように転送は、内部のピアにパターンの処理をスクロールコントロールです。 + Aメソッドでは、サブ要素をパターンのプロバイダーとしても指定できます。 方法を次のコードに示します転送スクロール パターンの処理をその内部のピアコントロール。 ```csharp public override object GetPattern(PatternInterface patternInterface) @@ -105,27 +111,27 @@ Public Class Class1 End Class ``` - このコード パターンの処理のためのサブ要素を指定するサブ要素オブジェクトを取得を使用してピアを作成、 メソッドでは、設定、 を現在のピアでは、新しいピアのプロパティを新しいピアを返します。 設定サブ要素のサブ要素をオートメーション ピア ツリーに表示されると、サブ要素によって生成されるすべてのイベントを指定で指定したコントロールから発信されているします。 コントロールは、オートメーション ツリーには表示されずから発生したように、生成されるスクロールのイベントが表示されます、 オブジェクトです。 + 次のコード パターンを処理するためのサブ要素を指定するサブ要素オブジェクトを取得を使用してピアを作成、メソッド、設定、を現在のピアでは、新しいピアのプロパティを新しいピアを返します。 設定サブ要素のサブ要素のオートメーション ピア ツリーに表示されると、サブ要素によって生成されるすべてのイベントを指定で指定したコントロールからのものとしてです。 オートメーション ツリーのコントロールは表示されずから発生するように生成されるスクロール イベントが表示されます、オブジェクト。 -### "Core"メソッドをオーバーライドします。 - 自動化のサンプル コードでは、ピア クラスのパブリック メソッドを呼び出して、コントロールに関する情報を取得します。 コントロールに関する情報を提供するには、基本オートメーション ピア クラスで提供されているものとは異なり、コントロールの実装時に"Core"で終わる名前を持つ各メソッドをオーバーライドします。 少なくとも、コントロールを実装する必要があります、 メソッドは、次の例で示すようにします。 +### 「コア」メソッドのオーバーライド + オートメーション コードは、ピア クラスのパブリック メソッドを呼び出して、コントロールに関する情報を取得します。 コントロールに関する情報を提供するには、コントロールの実装が基本オートメーション ピア クラスで提供されているものとは異なる場合に、"Core" で終わる名前を持つ各メソッドをオーバーライドします。 少なくとも、コントロールを実装する必要があります、メソッドは、次の例で示すようにします。 - [!code-csharp[CustomControlNumericUpDown#CoreOverrides](../../../../samples/snippets/csharp/VS_Snippets_Wpf/CustomControlNumericUpDown/CSharp/CustomControlLibrary/NumericUpDown.cs#coreoverrides)] + [!code-csharp[CustomControlNumericUpDown#CoreOverrides](../../../../samples/snippets/csharp/VS_Snippets_Wpf/CustomControlNumericUpDown/CSharp/CustomControlLibrary/NumericUpDown.cs#coreoverrides)] [!code-vb[CustomControlNumericUpDown#CoreOverrides](../../../../samples/snippets/visualbasic/VS_Snippets_Wpf/CustomControlNumericUpDown/visualbasic/customcontrollibrary/numericupdown.vb#coreoverrides)] - 実装を返すことによって、コントロールの説明、 値。 返すことができますがコントロールを正確に記述されている場合より特定のコントロール型の&1; つ返す必要があります。 戻り値を実装するプロバイダーの追加の作業が必要[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]、および[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]クライアント製品は、制御構造、キーボード操作、および使用できるコントロール パターンを予測することはできません。 + 実装を返すことによって、コントロールをについて説明します、値。 返すことができますがコントロールを正確に表している場合は特定のコントロール型の 1 つ返す必要があります。 戻り値のを実装するプロバイダーの追加作業が必要[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]、および[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]クライアント製品は、コントロールの構造、キーボード操作、および使用できるコントロール パターンを予測することはできません。 - 実装、 コントロールがデータの内容が含まれていますか (またはその両方) をユーザー インターフェイスで対話型のロールを満たすかどうかを示すメソッドです。 既定では、両方のメソッドが返す`true`します。 これらの設定には、オートメーション ツリーをフィルター処理するこれらのメソッドを使用するスクリーン リーダーなどの自動化ツールの使いやすさが向上します。 場合、 サブエレメント ピアに、サブ要素のピアの処理メソッド転送パターンメソッドは、オートメーション ツリーからのサブ要素のピアを非表示にする場合は false で返すことができます。 スクロールなど、 によって処理、 、およびのオートメーション ピアによって返される、 のメソッド、 と関連付けられている、 します。そのため、 のメソッド、 を返します`false`れるため、 オートメーション ツリーがないです。 + 実装、メソッドは、コントロールがデータの内容が含まれていますか (またはその両方) をユーザー インターフェイスで対話型のロールを満たすかどうかを示します。 既定では、両方のメソッドが `true` を返します。 これらの設定は、オートメーション ツリーをフィルター処理するこれらのメソッドを使用できるスクリーン リーダーなどのオートメーション ツールの使いやすさを向上します。 場合、 、サブ要素であるピア、サブ要素のピアの処理メソッド転送パターンメソッドは、オートメーション ツリーからのサブ要素のピアを非表示にする場合は false で返すことができます。 などのスクロール、によって処理される、とのオートメーション ピアによって返される、のメソッド、と関連付けられている、です。したがって、のメソッド、を返します`false`するように、オートメーション ツリーには表示されません。 - オートメーション ピアは、コントロールの適切な既定値を指定する必要があります。 注コントロールを参照する XAML を含めることによって、ピア実装の重要なメソッドをオーバーライドできます属性です。 たとえば、次の XAML がボタンをクリックし、2 つのカスタマイズを作成[!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)]プロパティです。 + オートメーション ピアは、コントロールに適切な既定値を提供する必要があります。 コントロールを参照する XAML を含めることによって、ピア実装の中核となるメソッドをオーバーライドできます注属性。 たとえば、次の XAML は、カスタマイズされた [!INCLUDE[TLA2#tla_uiautomation](../../../../includes/tla2sharptla-uiautomation-md.md)] プロパティが 2 つあるボタンを作成します。 ```xaml