У меня есть ExpressionTextBox, который я связываю со свойством InArgument класса, который реализует интерфейс INotifyPropertyChanged.ExpressionTextBox (ETB) находится в ListBoxItemTemplate.Я предполагаю, что моя привязка OwnerActivity терпит неудачу, но после попытки несколькими способами.То, что сработало, было
OwnerActivity="{Binding ModelItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=sap:ActivityDesigner}}
Во время выполнения я мог набирать Literal или назначать переменные, но когда я устанавливал значение из кода позади, используя ModelIemCollection.Properties ["FileName"]. SetValue значение получаетправильно установить свойство, но не видно в ExpressionTextBox в моей CustomActivity.
XamlCode:
<ListBox ItemsSource="{Binding Path=FilesCollection}" >
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type local:FileDataSet}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="25"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="175" />
<ColumnDefinition Width="25"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="FileName:" VerticalAlignment="Center" HorizontalAlignment="Left" Height="16" Margin="0,4,0,5" Width="95" />
<sapv:ExpressionTextBox Name ="ExpressionExportFile" Grid.Row="0" Grid.Column="1"
Expression="{Binding Path=FileName, Mode=TwoWay,
NotifyOnValidationError=True,
ValidatesOnDataErrors=True, ValidatesOnExceptions=True,
Converter={StaticResource ArgumentToExpressionConverter}, ConverterParameter=In}"
ExpressionType="{x:Type TypeName=s:String}"
OwnerActivity="{Binding ModelItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=sap:ActivityDesigner}}"
HintText="Enter file name" EditorLostLogicalFocus="ExpressionExportFile_EditorLostLogicalFocus"/>
</Grid>
Я не понимаю, как установить OwnerActivity для ETB в ListBoxItemTemplate. Проблема в том,Привязка OwnerActivity или ExpressionBinding?(полностью сбит с толку)
Моя структура - TabControl => TabControlContentTemplate => DataTemplate (имеющая вышеуказанную структуру кода ListBox).Это означает, что у меня есть ObserverableCollection, где TabDataItem содержит ObservableCollection.Любой новый способ помочь мне исправить переплет высоко ценится.Заранее спасибо.