Indigo Studio から簡単なユーザビリティテストを実施する!

この記事ではプロトタイピングツール Indigo Studio から生成したプロトタイプを利用し
簡単なユーザビリティテストを行う方法をご紹介致します。


----------------------------------------------------------
1.事前にご用意ください。
----------------------------------------------------------


■Indigo Studio
Indigo Studio の無料トライアル版のダウンロードは下記のリンクから!
https://jp.infragistics.com/products/indigo-studio/download-trial

■Infragistics ユーザーアカウント
ユーザビリティテストの作成などを行う indigodesigned.com 接続に必要です。 


----------------------------------------------------------
2.デザイン
----------------------------------------------------------


まずは、ユーザビリティテストを実施するためのプロトタイプを Indigo Studio を使って作ります。
今回は Infragistics の製品を販売するオンラインショップのプロトタイプを作ってみましょう。

大きな流れとしては2種類の製品の中から一つの製品を選び、
ショッピングカートに入れて数量と支払い方法を選び、購入を確定するプロトタイプになります。


 


----------------------------------------------------------
3.実装(ユーザビリティテスト)
----------------------------------------------------------


1.まず作成したプロトタイプを共有し、Indigo Studio コミュニティサイトから
共有されているプロトタイプを表示します。

https://indigodesigned.com/home 

2.プロトタイプ上部メニューから「ユーザビリティ テストを作成」をクリックします。 

 

3. ユーザビリティテストの作成が始まります。次はユーザーが行うべきタスクを登録します。
「新しいタスクの追加」をクリックします。

 

4.タスクの内容を入力し「タスクフローの編集」 をクリックします。

 

5.タスク登録画面で「開始ポイントとしてマーク」 をクリックします。
(タスクを実施するスクリーンもしくはステートが画面に表示されていることを確認してください。
もし現在表示されているスクリーン、もしくはステート以外の画面からタスクを実施する場合は
「他を選択」をクリックし該当するスクリーン、ステートを選んでください。)

 

6.3~5 を繰り返して希望するタスクをすべて登録します。

7.最後に「このテストを開始」 をクリックするとテスト実施の準備が終わります。

 

テストが始まると「招待」 ボタンをクリックしテストのリンクを取得できます。
テストのリンクを複数のユーザーと共有することでテストを実施することが出来ます。

 

テスト結果はリアルタイムで更新されます。 

 

「クリックマップを表示」をクリックするとテストに参加した参加者達が
タスクに対してどの様な動作をしたかがわかります。
参加者達の動作傾向から間違いやすいタスクなどが把握出来ます。
(タスクで指定された動作は青いアイコン、失敗した動作は赤いアイコン)



----------------------------------------------------------
4.オンラインリソース
----------------------------------------------------------


プロトタイピングツール Indigo Studio:
http://jp.infragistics.com/products/indigo-studio

プロトタイプの共有:
http://jp.infragistics.com/help/wpf/xamgeographicmap-adding-xamgeographicmap-to-a-page

ユーザビリティテストに使われたプロトタイプ:
https://indigodesigned.com/share/hg0uvhm1xmhd 

ユーザビリティテスト:
https://indigodesigned.com/study/run/p7r43trj7w06/

 

Infragistics Ultimate

地図上にツイッターの検索結果を表示するアプリケーション

今日のランチどうする?
なに食べようかな~?
最近近所で流行っている食べ物ってなに?

みなさんもこのようなお悩みをお持ちではないでしょうか。

そこで今日は Twitter の公開 API を使って
地図上の特定位置を中心に最近投稿されたツイートを検索、
Infragistics WPF XamGeographicMap コントロールに
その結果を表示してくれるアプリケーションを作成してみましょう。


----------------------------------------------------------
1.事前にご用意ください。
----------------------------------------------------------


■Infragistics 2016 Vol.2
(Infragistics おためし版のダウンロードは下記のリンクから!
http://jp.infragistics.com/products/ultimate/download)

■ツイッター公式 REST API を理解する
https://dev.twitter.com/rest/public

■Twitter REST API 認証用 Consumer Key や Consumer Secret 取得
ツイッター公式 REST API を利用するためには Consumer Key や Consumer Secret
などの情報を使って認証を行う必要がありますが、
今回のブログではその認証方法等に関しては割愛させていただきます。

■CoreTweet ライブラリの取得
.Net Framework でより簡単に Twitter REST API を使うことができる
オープンソースライブラリです。
https://github.com/CoreTweet/CoreTweet
公式のサイトもしくは Nuget から設置することが出来ます。
ブログに添付されているサンプルには CoreTweet は含まれてません。
なお、CoreTweet ライブラリの詳しい使用方法に関しては割愛させていただきます。


----------------------------------------------------------
2.デザイン
----------------------------------------------------------


本格的な実装の前に全体的なアプリケーションの動作イメージを掴むため
プロトタイピングツール Indigo Studio を使って
アプリケーションのデザインを作ってみました。
https://indigodesigned.com/share/run/246d1b5qzkge?versionId=2cn73d#f=Screen

検索用のキーワードを入力するテキストボックスが一つ、
入力されたキーワードでツイートを検索するボタン、
また結果を表示する地図コントロールだけの簡単な構成になっています。

上記プロトタイプから実際キーワードを入力し、ボタンをクリックしてみてください。

 


プロトタイピングツール Indigo Studio に関する
詳細情報は後述のオンラインリソースリンクをご参照ください。


----------------------------------------------------------
3.実装
----------------------------------------------------------


まず新しい WPF のプロジェクトを作成してください。
その後ツイートの結果を表示する XamGeographicMap コントロール、
キーワード入力用のテキストボックス、検索を実行するボタンを配置します。

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="325*"/>
    <ColumnDefinition Width="192*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
    <RowDefinition Height="9*"/>
    <RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ig:XamGeographicMap Name="xamMap" Grid.ColumnSpan="2" >
</ig:XamGeographicMap>
<TextBox x:Name="textBox1" Grid.Row="1" FontSize="20" />
<Button x:Name="button" Content="Tweet 検索" Grid.Column="1" Grid.Row="1"/>
コードビハインドでは画面ロード時デフォルトで表示する位置を定義します。

public double latitude = 35.65954094;
public double longitude = 139.70240057;
上記は渋谷駅周辺の座標(緯度・経度)になります。

アプリケーションがロードされるとデフォルトで上記で登録した場所を中心に表示をします。

        //①初期表示時デフォルトの座標(渋谷)を中心にズーム
        private void xamMap_Loaded(object sender, RoutedEventArgs e)
        {
            ZoomMapToLocation(latitude, longitude);
        }
	//②指定された位置にズーム
        private void ZoomMapToLocation(double latitude, double longitude, double zoomLevel = 0.015)
        {
            var offset = zoomLevel/2;
            var geoRect = new Rect(longitude - offset, latitude - offset, zoomLevel, zoomLevel);
            var windowRect = xamMap.GetZoomFromGeographic(geoRect);
            xamMap.WindowRect = windowRect;
        }
WindowRect など特定の位置にズームをする実装内容に関する
詳細情報は後述のオンラインリソースリンクをご参照ください。

次にデフォルトで設定されている渋谷駅周辺以外に地図からも
直接検索に使う場所を指定できるように XamGeographicMap コントロールの
クリックイベントを実装します。

        //③マウスクリック時の動作
        private void XamMap_OnMouseDown(object sender, MouseButtonEventArgs e)
        {
            var mousePosition = e.GetPosition(xamMap);
            GetGeoLocation(mousePosition);
        }
        //④マウスポジションから緯度・経度を取得する
        private void GetGeoLocation(Point mousePosition)
        {
            var xAxis = xamMap.XAxis;
            var yAxis = xamMap.YAxis;
            var viewport = new Rect(0, 0, xamMap.ActualWidth, xamMap.ActualHeight);
            var window = xamMap.WindowRect;
            var isInverted = xAxis.IsInverted;
            var param = new ScalerParams(window, viewport, isInverted);
            param.EffectiveViewportRect = xamMap.EffectiveViewport;
            var newLongitude = xAxis.GetUnscaledValue(mousePosition.X, param);
            isInverted = yAxis.IsInverted;
            param = new ScalerParams(window, viewport, isInverted);
            var newLatitude = yAxis.GetUnscaledValue(mousePosition.Y, param);
            longitude = newLongitude;
            latitude = newLatitude;
        }
ここまで実装が終わると XAML 側の XamGeographicMap コントロールの実装は下記の様になります。

<ig:XamGeographicMap Name="xamMap" Loaded="xamMap_Loaded" MouseDown="XamMap_OnMouseDown" Grid.ColumnSpan="2" >
次はいよいよ本格的にツイートの情報を検索するロジックになります。
まずは検索されたツイートの情報を保持するためのクラスを作成します。

    //⑤検索されたTweet情報を保持するクラス
    public class Tweets
    {
        public string name { get; set; }
        public string content { get; set; }
        public DateTime created { get; set; }
        public double latitude { get; set; }
        public double longitude { get; set; }
    }
次はマップ上の位置情報や入力されたキーワードを組み合わせて
検索を行い、その結果を返してくれるメソッドを実装します。

	public OAuth2Token token;
        //⑥Tweet検索
        private List FindTweets()
        {
            if (token == null)
            {
                token = OAuth2.GetToken("Consumer Keyを入力してください", "Consumer Secretを入力してください");
            }
            var locationQuery = latitude + "," + longitude + ",1.0km";
            var keywordQuery = textBox1.Text;
            var ts = new List();
            foreach (var status in token.Search.Tweets(geocode => locationQuery, count => 100, q => keywordQuery))
            {
                var t = new Tweets();
                if (status.Coordinates != null)
                {
                    t.name = status.User.ScreenName;
                    t.content = status.Text;
                    t.latitude = status.Coordinates.Latitude;
                    t.longitude = status.Coordinates.Longitude;
                    t.created = status.CreatedAt.DateTime;
                    ts.Add(t);
                }
            }
            return ts;
        }
次は検索ボタンのクリックイベントを実装します。

        //⑦検索ボタンクリック
        private void button_Click(object sender, RoutedEventArgs e)
        {
            ZoomMapToLocation(latitude, longitude);
            DataContext = FindTweets();
        }
最後に今まで実装したコードから取れたツイート情報を地図上に表示するための設定を行います。

<Grid.Resources>
	<DataTemplate x:Key="symbolSeriesTemplate">
		<Image Source="Images/任意のイメージ" Width="20" Height="20"></Image>
	</DataTemplate>
</Grid.Resources>
上記のリソースはツイートが行われた場所を示すシンボルとして使われます。
次は取得されたツイートの情報を実際 XamGeographicMap コントロールの
データとしてバインディングを行います。

<ig:XamGeographicMap.Series>
	<ig:GeographicSymbolSeries ItemsSource="{Binding}"
                           LongitudeMemberPath="longitude"
                           LatitudeMemberPath="latitude" MarkerTemplate="{StaticResource symbolSeriesTemplate}">
        	<ig:GeographicSymbolSeries.ToolTip>
                	<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
                    		<TextBlock Text="{Binding Path=Item.created}" Background="DeepSkyBlue" Foreground="Black" FontWeight="Bold" />
                    		<TextBlock Text="{Binding Path=Item.content}" Background="DeepSkyBlue" Foreground="Black" FontWeight="Bold" TextWrapping="Wrap" Width="300" />
                	</StackPanel>
		</ig:GeographicSymbolSeries.ToolTip>
        </ig:GeographicSymbolSeries>
</ig:XamGeographicMap.Series>

以上ですべての実装が終わりました。サンプルアプリケーションを起動して
ツイートのデータが表示されることを確認してみてください。

 


あとは・・・うどん、ランチ、もしくは最近流行りのポケモンとか???


----------------------------------------------------------
4.オンラインリソース
----------------------------------------------------------


プロトタイピングツール Indigo Studio:
http://jp.infragistics.com/products/indigo-studio

XamGeographicMap コントロールをページに追加:
http://jp.infragistics.com/help/wpf/xamgeographicmap-adding-xamgeographicmap-to-a-page

マップコンテンツをナビゲート:
http://jp.infragistics.com/help/wpf/xamgeographicmap-navigating-map-content

ScalerParams クラス:
http://jp.infragistics.com/help/wpf/infragisticswpf4.controls.charts.xamdatachart.v16.2~infragistics.controls.charts.scalerparams


----------------------------------------------------------
5.サンプル
----------------------------------------------------------

簡単なサンプルがを添付されてますのでぜひご確認ください。

サンプルのダウンロード(Infragistics WPF 2016.2 バージョン、C#)
(本サンプルは16.2.20162.1006バージョンで作成されました)

 

Infragistics Ultimate

XamDataChart のデータ値をドラッグアンドドロップして変更する

この記事では弊社のドラッグアンドドロップフレームワークとシリーズのマーカーを利用し、
ドラッグアンドドロップでマーカーの位置を動かしてグラフの値を変更することができるチャートの実装をご紹介いたします。

 

■実装

まずデザイン画面で XamDataChart を追加します。
また、ドラッグアンドドロップフレームワーク利用のため必要な dll を参照追加します。

 

チャート部分の xaml は下記の様になります。

<ig:XamDataChart Name="xdc1">
            <ig:DragDropManager.DropTarget>
                <ig:DropTarget IsDropTarget="True"></ig:DropTarget>
            </ig:DragDropManager.DropTarget>
            <ig:XamDataChart.Axes>
                <ig:NumericXAxis x:Name="xAxis"></ig:NumericXAxis>
                <ig:CategoryYAxis x:Name="yAxis" ItemsSource="{Binding}" MajorStrokeThickness="2" ></ig:CategoryYAxis>
            </ig:XamDataChart.Axes>
            <ig:XamDataChart.Series>
                <ig:BarSeries x:Name="series" ItemsSource="{Binding}" ValueMemberPath="Value" XAxis="{Binding ElementName=xAxis}" YAxis="{Binding ElementName=yAxis}" Background="Transparent">
                    <ig:BarSeries.MarkerTemplate>
                        <DataTemplate>
                            <Ellipse Width="18" Height="18" Fill="SeaGreen">
                                <ig:DragDropManager.DragSource>
                                    <ig:DragSource IsDraggable="True" Drop="DragSource_OnDrop" ></ig:DragSource>
                                </ig:DragDropManager.DragSource>
                            </Ellipse>
                        </DataTemplate>
                    </ig:BarSeries.MarkerTemplate>
                </ig:BarSeries>
            </ig:XamDataChart.Series>
        </ig:XamDataChart> 


次にチャートにバインドするデータを定義します。

データクラス:
            
    public class TestDataItem : INotifyPropertyChanged
    {
        private string label;
        private double value1;
        public string Label
        {
            get { return label; }
            set
            {
                label = value;
                OnPropertyChanged("Label");
            }
        }
        public double Value
        {
            get { return value1; }
            set
            {
                value1 = value;
                OnPropertyChanged("Value");
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string name)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(name));
        }
    }

サンプルデータコレクション:
            
    public class TestData : ObservableCollection
    {
        public TestData()
        {
            Add(new TestDataItem
            {
                Label = "A",
                Value = 1
            });
            Add(new TestDataItem
            {
                Label = "B",
                Value = 2
            });
       ・・・
上記サンプルデータを DataContext として設定するとチャート表示のための準備が終わります。
DataContext = new TestData();
最後にマーカーの移動が終わった時(ドロップが発生した際)発生するイベントを実装します。
            
        private void DragSource_OnDrop(object sender, DropEventArgs e)
        {
            //ドロップ位置の取得
            var position = e.GetPosition(series);
            //ドロップ位置のシリーズからデータを取得
            var item = series.GetItemFromSeriesPixel(position) as TestDataItem;
            //ドロップ位置のx軸値から新しい値を取得
            var xaxis = xdc1.Axes["xAxis"];
            var yaxis = xdc1.Axes["yAxis"];
            var viewport = new Rect(0, 0, xaxis.ActualWidth, yaxis.ActualHeight);
            var window = xdc1.WindowRect;
            var sp = new ScalerParams(window, viewport, false);
            var xValue = xaxis.GetUnscaledValue(position.X, sp);
            //新しい値を設定し直す
            item.Value = xValue;
        }

マーカーをドラッグアンドドロップすることで最後にドロップが行われた X軸の値に応じてグラフの値が変更されます。

■オンラインリソース 

Infragistics Drag and Drop Framework を使用した作業の開始

カスタム軸スケーラの作成

GetUnscaledValue メソッド

 

■サンプル 

簡単なサンプルがを添付されてますのでぜひご確認ください。

サンプルのダウンロード(Infragistics WPF 2016.2 バージョン、C#)

(本サンプルは16.2.20162.1006バージョンで作成されました) 

Infragistics Ultimate


 

 

UltraGrid コントロールで複数行のコピペ方法

今回は頻繁にお問い合わせを頂いている質問の中で設定方法は難しくないですが、
意外と知られてない UltraGrid コントロールで複数行のコピペを行う方法をご紹介致します。

■複数セルに置いてユーザー操作を定義する AllowMultiCellOperation プロパティ
UltraGrid コントロールでユーザー操作によるコピペを実現するためには該当するプロパティを設定する必要がございます。

            
ultraGrid1.DisplayLayout.Override.AllowMultiCellOperations = AllowMultiCellOperation.All;

このプロパティを設定することだけで UltraGrid コントロールでコピペを行うことが出来ます。
例えば、グリッドの内容をコピーして Excel もしくは他のグリッドに貼り付けるなどの動作が出来ます。

■コピペでエラーが発生したら Error イベントが発生する
コピペ操作で何らかのエラーが起こった場合はグリッドの Error イベントが発生します。
例えば、編集不可に設定されている列に対して貼り付け操作を行った際には下記の様なダイアログが表示されます。

 

表示されるダイアログで「OK」 ボタンを押下すると編集不可セルを除いて貼り付け操作が実行されますが
複数行でコピペ操作を行った際にはコピペが行われる対象セルで編集不可セルの数分
同じエラーダイアログが表示されることになります。

この場合、グリッドコントロールの Error イベントの中で編集不可セルに対しては
コピペを 行わないように設定することで自動で編集可能なセルだけコピペを行うことが出来ます。

            
        private void ultraGrid1_Error(object sender, ErrorEventArgs e)
        {
            if (e.ErrorType == ErrorType.MultiCellOperation)
            {
                if (e.MultiCellOperationErrorInfo.Operation == MultiCellOperation.Paste)
                {
                    e.Cancel = true;
                    e.MultiCellOperationErrorInfo.Action = MultiCellOperationErrorInfo.ErrorAction.Continue;
                }
            }
        }


■AllowMultiCellOperation プロパティ:
http://help.jp.infragistics.com/Doc/Winforms/2016.1/CLR4.0/?page=Infragistics4.Win.UltraWinGrid.v16.1~Infragistics.Win.UltraWinGrid.UltraGridOverride~AllowMultiCellOperations.html

■Error イベント:
http://help.jp.infragistics.com/Doc/Winforms/2016.1/CLR4.0/?page=Infragistics4.Win.UltraWinGrid.v16.1~Infragistics.Win.UltraWinGrid.UltraGrid~Error_EV.html


簡単なサンプルがを添付されてますのでぜひご確認ください。

サンプルのダウンロード(Infragistics Windows Forms 2016.1 バージョン、C#)

(本サンプルは16.1.20161.1000バージョンで作成されました) 

Infragistics Ultimate


 

UltraGrid コントロールの行やヘッダーの高さを変更する方法

今回は頻繁にお問い合わせを頂いている質問の中で設定方法は難しくないですが、
意外と知られてない UltraGrid コントロールの行やヘッダーの高さを変更する方法をご紹介致します。

■行の高さ
UltraGrid コントロールの行の高さは DisplayLayout>Override>DefaultRowHeight プロパティから設定することが出来ます。

名前の通り基本的に全ての行の高さを一括で設定しますので、もし特定の行で異なる高さを設定する場合は少し追科の設定が必要になります。

 

private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
    ultraGrid1.DisplayLayout.Override.RowSelectors = DefaultableBoolean.True;
    //行の高さ設定
    ultraGrid1.DisplayLayout.Override.DefaultRowHeight = 40;
    //個別の行で異なる高さを設定したい場合
    ultraGrid1.DisplayLayout.Override.RowSizing = RowSizing.Free;
    ultraGrid1.Rows[2].Height = 80;
}

■ヘッダーの高さ
ヘッダーの場合は行の高さの様にピクセルで高さを設定する方法がご用意されておりません。
(通常設定のグリッドの場合。RowLayout モードをご利用の際にはサイズを指定して高さを変更することが出来ます)

その変わりにヘッダーの中に表示するテキストの行数を設定することが出来ますので
そちらのプロパティをご利用下さい。

 

DisplayLayout>Override>DefaultRowHeight プロパティから設定することが出来ます。

private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
    //ヘッダーの高さ設定
    ultraGrid1.DisplayLayout.Bands[0].ColHeaderLines = 2;
}

 ■DefaultRowHeight プロパティ:
http://help.jp.infragistics.com/Doc/Winforms/2016.1/CLR4.0/?page=Infragistics4.Win.UltraWinGrid.v16.1~Infragistics.Win.UltraWinGrid.UltraGridOverride~DefaultRowHeight.html

■ColHeaderLines プロパティ:
http://help.jp.infragistics.com/Doc/Winforms/2016.1/CLR4.0/?page=Infragistics4.Win.UltraWinGrid.v16.1~Infragistics.Win.UltraWinGrid.UltraGridBand~ColHeaderLines.html

 

簡単なサンプルがを添付されてますのでぜひご確認ください。

サンプルのダウンロード(Infragistics Windows Forms 2016.1 バージョン、C#)
(本サンプルは16.1.20161.1000バージョンで作成されました)

Infragistics Ultimate

UltraGrid コントロールで和暦を表示する方法

今回はカルチャー情報の変更や埋め込みエディター機能を活用して
Infragistics の UltraGrid コントロールから和暦を表示する方法をご紹介致します。

まずは新しい Windows Forms のプロジェクトを作成します。
フォームには UltraGrid コントロールと UltraCalendarCombo コントロールを配置します。

次は下記コードの様にアプリケーションのカルチャー情報を変更します。

            //和暦表示のためにカルチャー情報を変更します
            CultureInfo cl = CultureInfo.CreateSpecificCulture("ja-JP");
            cl.DateTimeFormat.Calendar = new JapaneseCalendar();
            Thread.CurrentThread.CurrentCulture = cl;
            Thread.CurrentThread.CurrentUICulture = cl;

上記コードで変更した新しいカルチャー情報に合わせて UltraCalendarCombo コントロールの表示フォーマットも変更しましょう。

            //UltraCalendarCombo コントロールの表示フォーマットを変更する
            string longDate = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongDatePattern;
            this.ultraCalendarCombo1.Format = longDate;

最後に UltraGrid コントロールで使う日付表示用のコントロールとして上記で設定した UltraCalendarCombo コントロールを埋め込みます。

//日付表示用のエディター
this.ultraGrid1.DisplayLayout.Bands[0].Columns[日付表示用のカラムキーまたはIndex].EditorComponent = this.ultraCalendarCombo1;

設定が全て終わりましたのでアプリケーションを実行して動作の確認を行います。

 

和暦の表示はもちろんカレンダーまで和暦に対応されていることがわかります。

今回ご紹介させて頂いたカルチャー情報変更や UltraGrid コントロールの埋め込みエディターなどの詳しい情報は下記の弊社オンラインヘルプページ等をご確認ください。

 ■埋め込みエディター:
http://help.jp.infragistics.com/Doc/Winforms/2016.1/CLR4.0/?page=WinGrid_Embeddable_Editors.html

■UltraCalendarCombo コントロールの Format プロパティ:
http://help.jp.infragistics.com/Doc/Winforms/2016.1/CLR4.0/?page=Infragistics4.Win.UltraWinSchedule.v16.1~Infragistics.Win.UltraWinSchedule.UltraCalendarCombo~Format.html

■ JapaneseCalendar クラス:
https://msdn.microsoft.com/ja-jp/library/909bt4c5(VS.80).aspx

簡単なサンプルがを添付されてますのでぜひご確認ください。

サンプルのダウンロード(Infragistics Windows Forms 2016.1 バージョン、C#)

(本サンプルは16.1.20161.1000バージョンで作成されました) 

Infragistics Ultimate

複数の XamGrid コントロールのスクロールを同期させる方法
XamGrid コントロールはスクロールの情報を保持する IProviderScrollInfo インターフェースを実装しておりましてこちらをご利用頂きますと2つのグリッドのスクロールを連動することが出来ます。

詳しくは下記のサンプルコードをご確認下さい。

        IProvideScrollInfo scrollInfo1;
        IProvideScrollInfo scrollInfo2;
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            scrollInfo1 = this.xGrid1 as IProvideScrollInfo;
            scrollInfo2 = this.xGrid2 as IProvideScrollInfo;
            scrollInfo1.HorizontalScrollBar.MinHeight = 0;
            scrollInfo1.HorizontalScrollBar.Height = 0;
            scrollInfo2.VerticalScrollBar.Scroll += VerticalScrollBar_Scroll;
        }
        void VerticalScrollBar_Scroll(object sender, System.Windows.Controls.Primitives.ScrollEventArgs e)
        {
            scrollInfo1.VerticalScrollBar.Value = scrollInfo2.VerticalScrollBar.Value;
            (scrollInfo1 as XamGrid).InvalidateData();
        }
インフラジスティックスのサイトがリニューアルされました!

この度インフラジスティックスのサイトが更新されました!

デザインも完全に一新され、新しく追加されたページも増えております。

image

今日はその中でも、新しくなったケース作成の流れをご紹介いたします。

1.まずサイトの右上にあるメニューから「サインイン」をクリックします。

image

2.ログイン情報を入力しサイトにサインインします。

image

3.サイトの右上にあるメニューから「アカウント」をクリックします。

 

4.アカウントページ左側のメニューから「サポート アクティビティ」をクリックします。

image

5.サポート アクティビティページの「サポート要求を作成」をクリックします。

image

6.表示されるプラットフォームのリストからお問い合わせ対象になるプラットフォームを選んで下さい。

7.製品情報ページの必須項目を入力して「送信」ボタンをクリックします。

8.新しいケースの作成が完了するとサポート アクティビティページに戻り、「アクティブなケース」タブから作成したケースを確認することが出来ます。

image

 

アクティブなケースの詳細では担当者への返信や(「返信」ボタン)、

ケースのクローズなどを行うことが出来ます。(「問題を修正しました。ありがとうございます。」ボタン)

今回のサイト更新に伴い不明なところがございましたらいつでもご相談下さい!

Indigo Studio の新しいアップデートが公開されました

みなさん。こんにちは。

インタラクティブなプロトタイプの作成が出来るデザインツールの Indigo Studio。
その新しいアップデートが公開されました。

今日は今回のアップデートの主な内容をご紹介致します。

元のネタはこちらのブログになります。 

Releasing Update 4 for Indigo Studio

それでは早速、新機能紹介に入ります。

プロトタイプビューアの強化

パソコンのブラウザからもモバイルデバイスのように、プロトタイプを確認する際にはツールバーを完全に隠す機能の追加は以前から計画されていました。
しかし、今回のアップデートでこの機能が実現できた一番決定的な理由は弊社サイトに寄せられたみなさんのご意見でした。

今回のアップデートにはそれ以外にもツールバーの機能強化が行われております。

  • ツールバーからプロトタイプに含まれているスクリーンのリストを確認
  • ツールバーから特定スクリーンの検索が出来る

  • show status ボタンをクリックして組み込まれているインタラクションを確認することが出来る

この機能追加によりプロトタイプにあるどのスクリーンにも簡単に移動することが出来るようになりました。
特定のスクリーンもしくは状態を確認したい時に特に有用ではないでしょうか。
プロトタイプの中で見たい画面を探して迷う必要が無くなりました。

プロトタイプの共有機能の変更点

プロトタイプの共有に関しては一部制限事項を解除致しました。例えば、以前のバージョンでは他のスクリーンとの
インタラクションの設定が全く無く画面の遷移からはたどり着くことが出来なかった画面は自動的にプロトタイプの共有から排除されてしまいましたが
この制限は完全に解除され、画面間の関連が全くないスクリーンもプロトタイプに含むことが出来るようになりました。

もう一つの変更としては単一スクリーンのコンテクストメニューから共有を行う際にインタラクションで繋がっている
他のスクリーンを自動でプロトタイプの中に含む機能です。

(Include linked screens チェックボックスを選択すると自動でインタラクションで繋がっている画面をプロトタイプに含む)

その他のアップデート内容

  • プロジェクトのホーム/ギャラリービュー表示時のパフォーマンス向上: プロジェクトの読み込み時間とスクリーン画面からプロジェクトのホームの切り替えを短縮しました。
  • 書式設定のためにショットカットの追加: CTRL + B などの一般的な書式設定ショットカットを実装しました。
  • タッチジェスチャーの強化: タッチ関連のコードを見直し、よりいい反応性を実現しました。

またみなさまからご報告頂いた不具合の修正を行いました。ぜひ新しいアップデートをお試し下さい。

アップデートの方法

もしオプションで自動アップデートの設定がされているのであれば Indigo Studio の起動時にアップデートに関するポップアップが表示されそこからアップデートをすることが出来ます。

この自動アップデートを使わない場合は Menu > HELP&ABOUT 画面を開き、「Check For Updates」ボタンを押下し手動でアップデートを実施することも出来ます。

新しい機能追加要望システムのご紹介(日本語登録可)

みなさん。こんにちは

今日は新機能追加リクエストシステムをご紹介いたします。

今までは製品に実装されていない新機能に関してはデベロッパーサポートのメンバーがお客様の代わりに弊社システムに登録し、関連製品の担当マネージャーが実現可能性や全体的な影響などを考慮し実装をする形でしたが、そのプロセスが非常に不透明でありお客様側では新機能リクエストに関する進捗状況などがわかりづらかったと思います。

今回ご紹介する新機能リクエストシステムではお客様が直接機能追加のリクエストを登録できるオープンシステムになっており、すべての利用者様による投票によって実装される機能を決めるシステムになっております。全体のプロセスはより透明に、また多くのお客様に支持される機能を迅速に製品に実装していくことにより、お客様の多様なニーズに対応して行きたいと思いますので、ぜひご利用ください!

新しいシステムのメリット:
・実装してほしい新機能に対して直接プロダクトマネージャーとコミュニケーションすることが出来る。
・リクエストしたアイデアのステータスに変更があった際に通知が届くようになる。
・他の利用者のアイデアに投票することが出来る。
・今後の製品構成に影響をあたえることが出来る。

それでは新しいシステムの簡単な使い方をご説明いたします。

新機能追加登録ページはここをクリックしてください。

image

ページに接続するとまずこの様な画面が見えますが①番の検索ボックスから既に登録されている機能追加要件を検索することが出来ます。(コントロール名など)

②番のリンクから該当するプラットフォームをクリックすると実際の登録画面に移動します。

image

③番の入力ボックスに新しく追加してほしい機能のタイトルを入力してください。

image

タイトルを入力すると上記の様に画面が変わります。

「Describe your idea」のところにはより詳細の追加機能の説明を入力ください。この説明によりほかの利用者の心を動かして票をもらうような説明をしてください!

「votes」はこのアイデアに対して投票を行うことが出来ます。ただし、投票できる回数には制限がございますので、いきなり3を入力してもいいですが他のアイデアに投票することが出来なくなりますのでバランスよく投票してください。

「Your email address」にはお客様のメールアドレスを入力ください。

最後に Post idea ボタンをクリックするとすべての処理が完了します。

 

全ての登録は日本語でも OK ですのでぜひご利用ください!

Windows Forms の UltraLiveTileView コントロールの紹介

みなさんご存知の通り Windows 8(8.1)のスタートメニューは様々な色やサイズのタイルがその特徴ですね。Infragistics の新しい 13.2 バージョンから追加された Windows Forms の UltraLiveTileView コントロールを使うと Windows のスタートメニューの様なナビゲーションメニューを作ることが出来ます。UltraLiveTileView なら自由度が高くて使いやすいアプリケーションを作ることが出来ます。ここではこの新しいコントロールを使ってサンプルを作成してみましょう。

この記事の元のネタはこちらのブログになります。  
Creating a navigation menu with Windows Forms and Infragistics Live Tile View control

はじめに

まず、UltraLiveTileView コントロールのオンラインヘルプページにはデザイナーからコントロールを追加する方法、コードビハインドから追加する方法が公開されています。このブログではデザイナーを利用してサンプルを作成したいと思います。Windows Forms アプリケーションに UltraLiveTileView コントロールを追加するのは至って簡単です。Visual Studio のツールボックスから UltraLiveTileView コントロールをフォームに落とすだけ。コントロールをフォームに追加するとすぐにスマートタグが表示されます。

UltraLiveTileView デザイナーをクリックしデザイナー画面を表示しましょう。デザイナー画面からは既に定義されている様々なテンプレートから作りたいデザインを選ぶことが出来ます。

特定のタイルをクリックすると「削除」、「複製」、「編集」の3つのオプションを選べます。タイルをカスタマイズするためには「編集」オプションをクリックしてください。「編集」オプションを選ぶとタイルの種類やタイルの背景、テキストなどを修正できるエディターが開かれます。

一つのグループの中に追加できるタイルの数には制限などございません。一方、一定時間間隔で表示が変わるアニメーション効果があるライブタイルを追加することも出来ます。

1.ライブタイルを追加する。

2.フレームコレクションにアニメーション用のフレームを追加する。

プロパティの DefaultView オプションからアニメーション用のフレームを追加できます。アニメーションのオプションからは「下からスライド」、「上からスライド」、「左からスライド」、「右からスライド」などや「フェードアウト」などのオプションを選択できます。

機能性

今までタイルを追加する方法やタイルをグループ化する方法などを紹介しましたが、ここからは実際の動作や機能に関わる部分を説明します。今回作成するサンプルではクリックするとブラウザーを開くタイル、クリックすると他のフォームを立ち上げるタイル、また規定のプログラムを実行するタイルなどを追加してみましょう。

実装の内容はすごくシンプルでタイルのキーを基にタイルクリックイベントを設定するだけです。

private void ultraLiveTileView1_TileClick(object sender, Infragistics.Win.UltraWinLiveTileView.TileClickEventArgs e)
{
    if (e.Tile.Key == "chrom")
    System.Diagnostics.Process.Start("http://google.com");
    
    if (e.Tile.Key == "explorer")
    System.Diagnostics.Process.Start("explorer.exe");
}

または他のフォームを表示することも出来ます。

if (e.Tile.Key == "calculator")
{
    Calculator calc = new Calculator();
    calc.Show();
}

if (e.Tile.Key == "movies")
{
    Movies movie = new Movies();
    movie.Show();
}

実行時にはユーザーにより自由にタイルの配置を行うことが出来ます。グループ内または他のグループにタイルを移動することやグループもしくはグループ内のタイルの順番を変えることも出来ます。このようにユーザーによって自由に変更されたレイアウトは保存することも可能で、アプリケーションを閉じて再び実行した際にも以前のレイアウトを簡単に復元することが出来ます。レイアウトの保存と復元には SaveAsXml と LoadFromXml メソッドが使われます。次のコードはフォームが閉じられる時にレイアウトを保存する例です。

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    this.ultraLiveTileView1.SaveAsXml("LiveTileConfig.xml");
}

また、アプリケーションが実行される時に保存されたレイアウトを復元する例は次のコードになります。

public Form1()
{
    InitializeComponent();
    if (File.Exists("LiveTileConfig.xml"))
    {
       this.ultraLiveTileView1.LoadFromXml("LiveTileConfig.xml");
    }
}

まとめ

今回のブログで作成したサンプルはこちらのリンクからダウンロードすることが出来ます。

最新バージョンのトライアルバージョンのダウンロードは下のダウンロードボタンから~
ぜひお試しください!

NetAdvantage ダウンロード

[13.2] Infragistics WPF & Silverlight 新機能

みなさん。こんにちは。

たくさんの新機能で大幅にパワーアップした Infragistics 2013 Volume 2 がまもなくリリースされます!今日は XAML 系の製品をメインに具体的にどの様な新機能が追加されたのかをご紹介致します。

元のネタはこちらのブログになります。
What’s New in Infragistics WPF and Silverlight in 13.2

それでは早速、新機能紹介に入ります。

 

XamRichTextEditor

今までたくさんのお客様からご要望を頂きました Microsoft Word のような機能と動作を持つ高いカスタマイズ性のテキストエディタがついに登場します。Microsoft Word から必要ではないすべての機能を取り除いたコントロールをイメージしてみてください。XamRichTextEditor はまさにそのようなコントロールになります。まだ生まれたばっかりのコントロールではございますがたくさんの有用な機能が含まれております。

フォーマッティングオプション

どんなフォーマッティングが出来るかが気になりますか?XamRichTextEditor コントロールではどんなフォーマッティングが出来ないのかを探したほうが早いかもしれません!XamRichTextEditor コントロールはフォントスタイル、サイズ、上付き文字と下付き文字、色、段落とインデントなど様々なフォーマッティングをサポートします。

デフォルトのビュレットなどはアプリケーションに合わせてカスタマイズすることも出来ます。

画像

XamRichTextEditor コントロールでは単純に画像を追加するだけではなく自由に回転させたり反転させたりクロップすることも出来ます。

テーブル

XamRichTextEditor コントロールはテーブルの機能も充実しています。テーブルの中に他のテーブルを配置することも出来ます。

MVVM サポート

多くのお客様が悩んでいる MVVM への対応も簡単に行うことが出来ます。MVVM のため製品に用意された DocumentAdapters を使うことで皆さんの ViewModel から XamRichTextEditor へのバインドがプロパティ設定のみで簡単に行えます。Adapter は RTF、プレーンテキスト、DOCX の3種類が用意されています。単一の XamRichTextEditor コントロールに3種類すべての DocumentsAdapters を使うことも出来ます。

上記で説明した機能以外にも画面の分割や拡大などのエディターカスタマイズ、RTF、DOCX また プレーンテキストなどの形式にファイルの入出力機能、また他のカスタムフォーマットサポートのための拡張機能をもつ API まで提供しています。

WPF と Silverlight 両方のプラットフォームに提供される XamRichTextEditor コントロールはクロスプラットフォーム開発に最適のエディターコントロールです!

XamBulletGraph

次のコントロールも多くのお客様からリクエストを頂いた XamBulletGraph になります。直線的なデザインの XamBulletGraph コントロールは主要指標をシンプルに表示することが出来ます。XamBulletGraph コントロールならプレゼンテーション用のデータをより簡潔かつ魅力的に変えてくれるでしょう。一般的にブレットグラフはゴールまでの進捗状況を示す一番効率的で効果的な方法になります。

XamBulletGraph コントロールには表示の向きを変えて垂直/水平どちらでも表現することが出来ます。また、それぞれのビジュアル要素はアプリケーションに合わせて自由にカスタマイズ出来ます。XamBulletGraph コントロールはブレットグラフ系のコントロールが持つべきすべての機能が実装されています!

 

XamLinearGauge

XamBulletGraph コントロールを見て恐らく”XamLinearGauge コントロールはどうなるの?”という疑問が生まれるかもしれません。今回の XamLinearGauge コントロールはコードレベルから完全に新しく作られています。既存コントロールの優れたところはそのまま受け継ぎながらもコントロールの API や使いやすさ、安定性と高パフォーマンスなどを実現しています。

針のカスタマイズも形状や色など自由に変更することが出来ます。

XamBulletGraph コントロール同様表示の向きを垂直/水平に変更することが出来ます。また Infragistics Motion Framework を利用して設定の変わりをアニメーションすることも出来ます。

既存の XamLinearGauge コントロールは最終的に新しい XamLinearGauge コントロールに入れ替わることになります。新しい XamLinearGauge コントロールは下位互換性がないため古いアプリケーションのアップグレードには必ず新しいコントロールをご利用ください。

 

XamRadialGauge

次のコントロールも同じく完全に新しく作られた XamRadialGauge コントロールになります。スケールやラベル、メモリなどほとんどすべてのビジュアル要素をカスタマイズすることも出来ます。

針のカスタマイズも形状や色など自由に変更することが出来ます。

XamRadialGauge コントロールにも Infragistics Motion Framework が実装されていて設定の変更などをアニメーションで確認できます。

XamRadialGauge コントロールも同じく古いコントロールと入れ替わることになります。新しい XamRadialGauge コントロールは下位互換性がありません。

 

XamDataChart 新機能

チャートタイトルとサブタイトル

XamDataChart コントロールのタイトルやサブタイトル機能はチャートコントロールの上段に情報を表示する機能です。チャートにタイトルやサブタイトルが追加される際にはそれに合わせて他のチャートエレメントが自動でリサイズされてすべての要素の表示を最適化してくれます。

軸タイトル

軸タイトルは X と Y 軸に軸の情報を表示する機能です。 TitleSettings プロパティを通じてタイトルの角度やフォントのサイズ、位置などをカスタマイズすることも出来ます。

シリーズ強調表示

この機能はシリーズ内の特定アイテム、もしくはシリーズ全体を強調して表示してくれる機能です。例えば LineSeries のチャートで全体ラインを強調する、また ColumnSeries であれば特定のカラムのみを強調することが出来ます。個々のマーカーはすべてのサポートされるシリーズで強調の設定を行うことが出来ます。

ドロップ シャドウ

XamDataChart コントロールでは個々のシリーズの可視性強化のためドロップ シャドウ機能を取り入れました。開発者は Shadow Depth やオフセット、影の方向などをコントロールすることが出来ます。

新しいデフォルトスタイル

XamDataChart コントロールを Visual Studio 上に配置した際のデフォルトスタイルに関しましてたくさんのフィードバックを頂きました。そのようなフィードバックを基にコントロール自体の色んな改善が行われていますが、特に多くの研究を重ねて新しく作られたデフォルトスタイルは今までプロパティ設定やコントロールのテンプレート変更に費やされてきた時間を短縮してくれるでしょう。今回のリリースでは選択可能な形で別途スタイルとして製品に含まれていますが、今後新しいデフォルトスタイルに関するみなさんのご意見を参考に製品に反映していきますので、ぜひ一度使ってみてください。

 

XamGeographicMap 新機能

高性能の XamGeographicMap コントロールに”高密度地理散布シリーズ”が正式機能としてアップデートされました。13.1では CTP 機能の一つだった高密度地理散布シリーズはパフォーマンスの低下することなく数百万のデータポイントを表示することができます。人口密度が高い地域はたくさんのピクセルで表現されて、人口が少ない地域はそれとまた別の色のピクセルで表現されます。使用される色のパレットを変更するとか、ヒートプロパティの最大/最小値、またヒートカラーのマッピングなどを行うことも出来ます。

 

XamPieChart と XamDoughnutChart 新機能

こちらの2つのチャートコントロールには吹き出し線の種類に曲線が追加されました。今回の追加で吹き出し線の種類は3種類(直線+2種類の曲線)になりました。

 

新しい Metro Dark テーマ

新しい Metro Dark テーマを使うと明るい画面を長時間見た時に発生する目の疲れを緩和することが出来ます。

 

Microsoft 標準コントロールのためのテーマ

IG, Office 2010 また Metro テーマを新しく Microsoft 社標準のコントロールでも使うことで今まではバラバラだったアプリケーション画面に統一感を出すことが出来ます。

IG テーマ

Metro Light と Metro Dark テーマ

Office 2010 Blue テーマ

 

Radial Menu (CTP)

最後にもう一つの新しいコントロールをご紹介します。Microsoft OneNote のリング メニューにひらめいて作られた XamRadialMenu コントロールです。XamRadialMenu コントロールは直感的にいろんな機能を実行することが出来ます。もともとはタッチ環境に最適のコントロールですが、マウスやキーボード操作でも全く問題ないです。

まだ CTP コントロールではございますが機能面では充実しています。メニューの数や向き、サイズなど豊富な構成オプションを備えています。なおラジオ ボタン、カラー ホイール、 ゲージ系などの組み込まれたアイテムを持っています。XamRadialMenu コントロールはタッチベースの新しいアプリケーションを作る上で必要な物はすべて実現しています。

 

近日公開予定の Infragistics WPF と Silverlight 2013 Vol2 にはここで紹介しきれないくらいたくさんの新しい機能があります。ぜひお試しください!

既存製品のダウンロードは下記のリンクから~

NetAdvantage ダウンロード

VS2012 がインストールされてない環境で2013.2 IgniteUI サンプルを起動する方法

2013.2 IgniteUI のサンプルはデフォルトで Visual Studio 2012を使うように設定されています。Visual Studio 2012が設置されてない環境では Web.config ファイルの Connection String を修正する必要があります。ここでは Web.config ファイルの変更方法をお伝えします。

  1. サンプルのフォルダを開く
  2. Web.config ファイルを開く(例:C:\Users\Public\Documents\Infragistics\2013.2\IgniteUI\Samples\IgniteUI.SamplesBrowser\web.config)
  3. Web.config ファイルから Connection string 設定を探してコメントアウトする(Hint: v11.0という記述が目印)
  4. 上記でコメントアウトした下にコメントアウトされた他の Connection string のコメントを外す(Hint: .\SQLEXPRESS から始まる)
  5. Web.config ファイルの保存
  6. サンプルの再起動

より詳細の情報に関しましては README.txt ファイルをご参照ください。

C:\Users\Public\Documents\Infragistics\2013.2\IgniteUI\Samples\IgniteUI.SamplesBrowser\IgniteUI.SamplesBrowser

 

最新バージョンのトライアルバージョンのダウンロードは下のダウンロードボタンから~
ぜひお試しください!

NetAdvantage ダウンロード 

IG の製品を常に最新に維持できる Visual Studio Extension

IG 製品は2013.1リリースから Infragistics Visual Studio Extension を提供しております。

2013.1をご利用のお客様は恐らくすでにこの機能に関してご存知だと思いますが、ここで簡単に Infragistics Visual Studio Extension の紹介と今後の方向性に関してお伝えします。

 

 

そもそも Visual Studio Extension って何?

簡単に言えば、Visual Studio 2010, 2012, 2013 バージョンで使われる拡張機能です。スマイル 
Infragistics Visual Studio Extension の設置は Infragistics 製品の設置(Platform Installer)と同時に行われます。Visual Studio Extension の設置はデフォルトで行われますがオプション設定により設置しないこともできます。ただし、将来的な Infragistics 製品メンテナンスの面から設置をおすすめしております。

Infragistics Visual Studio Extension は定期的に自動で、もしくは手動で最新の製品アップデートがあるかをチェックしてお知らせしてくれます。

Infragistics Visual Studio Extension を使うと何が嬉しいの?

それは”常に Infragistics 製品を最新の状態に維持できる”という点です。 
製品の新しいバージョンや不具合などの修正が行われたサービスリリースが公開された際には設定された間隔で自動お知らせを表示します。(もちろん手動でチェックを行うこともできます)

Infragistics Visual Studio Extension のもう一つの大事な機能は最新の製品バージョンに合わせて既存のプロジェクト内の DLL 参照を最新のバージョンに変換してくれる”バージョンユーティリティ”を実行できることです。

結論

Infragistics Visual Studio Extension はみなさんのプロジェクトの中にある Infragistics 製品を最新に維持できる一番早い方法です。近日中公開予定である最新バージョン 2013.2 ではさらにパワーアップされた Infragistics Visual Studio Extension をご紹介致します。ぜひお試しください!

NetAdvantage ダウンロード

 

*元のネタはこちらのブログになります。
The Infragistics Visual Studio Extension - The best way to stay up to date with our amazing products
http://www.infragistics.com/community/blogs/borislav_traikov/archive/2013/10/03/the-infragistics-visual-studio-extension-the-best-way-to-stay-up-to-date-with-our-amazing-products.aspx

再テンプレートに関するお知らせ

弊社のサポート範囲としてはあくまで標準でご提供するスタイルを使用することが大前提となります。

コントロールの標準機能として実装されていない動作や表示要件に関しましては新しく機能追加のリクエストを作成いたします。

その際に、標準のスタイルを変更(スタイルの再テンプレート)することでご要望の実装が見込まれる際には簡単な再テンプレート方法をご案内します。

 

ただし、弊社製品のバージョンが上がった際に標準のテンプレートに手が加えられることがございますので、

バージョンアップの際(サービスリリースの適用を含む)には、標準のテンプレートをインストールした最新のものから再定義し、再度そのテンプレートを同様にカスタマイズにいただくこととなります。

その際に、弊社サポート窓口でテンプレートのカスタマイズを代行するような事はできかねますので、予めご了承くださいませ。
(基本スタイル以外の場合は弊社サポートの範囲を超えてしまいますので、お客様の責任で行うことになります。)

 

サポート範囲などに関するより詳しい情報は下記の「サポートサービスについて」文書をご確認ください。

http://users.infragistics.com/igjp/DeveloperSupport_Overview_Japan.pdf

 

今後とも弊社製品をよろしくお願い致します。

 

金 亨揆

デベロッパー サポート マネージャー

インフラジスティックス・ジャパン(株)