デザイン時に作成される引数を持つカスタム アクティビティを作成しましたが、デザイナーでそれらを ExpressionTextBox に関連付ける際に問題が発生しています。
ExpressionTextBox がデザイナに表示され、バインド先の Argument の値が反映されますが、ExpressionTextBox に式を入力しても引数に戻されません。例/コードは順番に。
画像を投稿することはできないので、リンクを張る必要があります。 デザイナーの例
上の画像では、2 番目の ETB に「param2」を入力し、[引数の編集] ボタンをクリックしました。([引数の編集] ボタンには、DynamicArgumentDialog が表示されます)。ただし、DyanmicArgumentDialog に値を入力すると、[OK] をクリックするとデザイナーに表示されます。
これが私のデザイナーのxamlです(おそらく何かが欠けています)
<ItemsControl Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" ItemsSource="{Binding ModelItem.Arguments}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70" SharedSizeGroup="nameColumn" />
<ColumnDefinition Width="200" />
</Grid.ColumnDefinitions>
<sapv:ExpressionTextBox Grid.Column="1"
Expression="{Binding Path=., Mode=TwoWay, Converter={StaticResource expressionConverter}, ConverterParameter=Out}"
OwnerActivity="{Binding DataContext.ModelItem, ElementName=layoutRoot}"
ExpressionType="s:String"
UseLocationExpression="True"
MaxLines="1"
AcceptsReturn="False" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
(layoutRoot はデザイナーのルート要素の名前であるため、ItemTemplate 内から ModelItem にアクセスできます) (Activity の Arguments プロパティは Collection として定義されており、現在リストに 2 つの項目があります)
DynamicArgumentDialog を使用して引数を設定することもできますが、デザイナーに表示させたいと思っています。誰かがこれに何か問題があると思いますか?なぜそれが機能しないのですか?
サンプルもありますので、見たい方はどうぞ。 DynamicArgumentTest
ExpressionTextBoxes を動的引数で適切に動作させることができた人はいますか?