的实例我有一个WPF用户控制列表框被定义为绑定到的ItemsSource
<ListBox Grid.Row="1" ScrollViewer.CanContentScroll="False" Background="#00000000" BorderThickness="0" ItemsSource="{Binding BuyItNowOptions}"
ItemTemplate="{DynamicResource BuyItNowDataTemplate}" IsSynchronizedWithCurrentItem="True"
Style="{DynamicResource InheritEmptyListStyle}" SelectedItem="{Binding SelectedResearch}" ItemContainerStyle="{DynamicResource ListBoxItemStyle}"/>
BuyItNowOptions是上视图模型即类型的ObservableCollection
的在BuyItNowDataTemplate我有一个公共属性有一些逻辑显示价格之前执行需要的标签。
<Label Padding="1" HorizontalContentAlignment="Stretch" Grid.Column="2" Grid.Row="2" Margin="1">
<TextBlock Text="{Binding ExchangePrice, StringFormat=C}"
Visibility="{Binding ReturnRequired, Converter={StaticResource BooleanToVisibilityConverter}}"/>
</Label>
的这里结合表明它将使用AutoResearchProxy的实例,它是像BuyItNowOptions [CURRENTINDEX] .ExchangePrice的ExchangePrice财产。
我想知道的是有可能以这样的方式创建绑定,即它引用AutoResearchProxy的整个实例,以便我可以将它传递给转换器并处理AutoResearchProxy的多个属性并返回计算结果价钱?
我会想象我的转换器看起来像这样。
public class PriceConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is AutoResearchProxy)
{
var research = value as AutoResearchProxy;
//Some logic to figure out actual price
}
else
return String.Empty;
}
希望这是有道理的。
如果你想有一个逗号出现,那么你应该在其之前加'.'。 –
@ H.B。纠正错字 – Gishu