在下面的XAML中,我试图包装绑定到"PortfolioCodes"和"CommentaryText"的TextBlock,但似乎"Wrapping"对TextBlock不起作用.我尝试了在这个网站上找到的所有可能的建议,但都是徒劳的.有人可以请帮助.
<Grid>
<ListBox ItemsSource="{Binding Path=Summaries}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<Border CornerRadius="5" BorderBrush="LightGray" BorderThickness="1" Padding="4" Margin="4">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="15"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0">No Of Security</TextBlock>
<TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding Path=PortfolioSecurityCount}"></TextBlock>
<TextBlock Grid.Column="0" Grid.Row="1">Portfolio Code(s)</TextBlock>
<Grid Grid.Column="2" Grid.Row="1" >
<TextBlock TextWrapping="Wrap" Text="{Binding Path=PortfolioCodes}"></TextBlock>
</Grid>
<TextBlock Grid.Column="0" Grid.Row="2">Commentary Text</TextBlock>
<Grid Grid.Column="2" Grid.Row="2" >
<TextBlock Grid.Column="2" Grid.Row="2" TextWrapping="Wrap" Text="{Binding Path=CommentaryText}"></TextBlock>
</Grid>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
Run Code Online (Sandbox Code Playgroud)
根据Guge的反应,我已经改变了xaml,现在它的工作原理.
<Grid x:Name="LayoutRoot"> …Run Code Online (Sandbox Code Playgroud) 我得到了下表,并希望使用sql中前一行中相同列(Column2)的值计算每行的Column2值,而不使用cursor或while循环.
Id Date Column1 Column2
1 01/01/2011 5 5 => Same as Column1
2 02/01/2011 2 18 => (1 + (value of Column2 from the previous row)) * (1 + (Value of Column1 from the current row)) i.e. (1+5)*(1+2)
3 03/01/2011 3 76 => (1+18)*(1+3) = 19*4
and so on
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我正在为我们的一个部门提供数据验证实用程序,该实用程序具有以下要求. - 动态添加新业务实体 - 动态地向实体添加新验证. - 用于显示业务实体及其有效性列表的UI - 用户可以选择在所有或选定的业务实体验证上启动验证. - 如果任何验证失败,UI将显示验证错误消息. - 即使任何验证失败,系统也应继续进行下一次验证,从而验证所有已配置的验证.
在搜索互联网后,我发现以下2个承诺设计模式满足我的业务需求一个id装饰模式,另一个是命令链(又称责任链).现在我的问题是哪个更好?有人有更好的主意吗?
谢谢
我迫切希望找到解决问题的办法.
以下是为每个项目生成不同任务的代码List<AccountContactView>.
List<AccountContactViewModel> selectedDataList
= DataList.Where(
dataList => (bool) dataList.GetType()
.GetProperty("IsChecked")
.GetValue(dataList, new object[0]) == true
).ToList();
this.IsEnabled = false;
Task validateMarked = Task.Factory.StartNew(() =>
{
foreach (AccountContactViewModel viewModel in selectedDataList)
{
if (viewModel != null)
{
Task validate = Task.Factory.StartNew(
() => ValidateAccount(viewModel),
(TaskCreationOptions)TaskContinuationOptions.AttachedToParent);
}
}
});
validateMarked.ContinueWith(x => this.IsEnabled = true);
Run Code Online (Sandbox Code Playgroud)
现在我的问题是它运行时,它只运行数组中的最后一项.关于我做错了什么的任何想法?
我不想使用Parallel.ForEach因为它没有提供必要的并行效果来增加基于每个任务完成的进度条.
是否可以通过视图中定义的绑定在wpf中的viewmodel中获取/设置TextBox控件的CaretIndex属性值?
谢谢