我有一个listtemplate正在使用样式的列表框.样式指定带有数据触发器的边框,根据属性设置要折叠的边框的可见性.这工作正常,但我仍然可以看到列表中折叠的每个项目的非常窄的行.我希望有人可以帮助设置可见性,以便没有可见的痕迹,因为当连续项目折叠时这是非常明显的.
datatemplate指定了一个带有dockpanel的外边框 - 然后有一个与之对接的stackpanels.
任何帮助表示赞赏.
那么这是一个简化的模板:
<DataTemplate x:Key="myTemplate">
<Border BorderThickness="0">
<Border.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsActive}" Value="False">
<Setter Property="Border.Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<DockPanel LastChildFill="True" HorizontalAlignment="Stretch">
<StackPanel DockPanel.Dock="Right" HorizontalAlignment="Right" >
<TextBlock Text="{Binding Path=SeqNo, Converter={StaticResource SeqToTextConv}}"/>
<Label Content="..." />
</StackPanel>
</DockPanel>
</Border>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud) 我读的关于这个主题越多,我理解的就越少,所以如果下面看起来完全不在墙上,请提前道歉.
我有一个包含flowdocument的usercontrol - 一个带有相应viewmodel的视图.目的是将其发送到预览窗口,用户可以在该窗口中查看文档并进行打印.
我从http://www.eggheadcafe.com/tutorials/aspnet/9cbb4841-8677-49e9-a3a8-46031e699b2e/wpf-printing-and-print-pr.aspx的示例中提取了一些代码.
当调用以下内容时
Public Shared Sub PrintPreview(owner As Window, data As FormData)
Using xpsStream As New MemoryStream()
Using package__1 As Package = Package.Open(xpsStream, FileMode.Create, FileAccess.ReadWrite)
Dim packageUriString As String = "memorystream://data.xps"
Dim packageUri As New Uri(packageUriString)
PackageStore.AddPackage(packageUri, package__1)
Dim xpsDocument__2 As New XpsDocument(package__1, CompressionOption.Maximum, packageUriString)
Dim writer As XpsDocumentWriter = XpsDocument.CreateXpsDocumentWriter(xpsDocument__2)
Dim visual As New Form(data)
Dim printTicket As New PrintTicket()
printTicket.PageMediaSize = A4PaperSize
writer.Write(visual, printTicket)
Dim document As FixedDocumentSequence = xpsDocument__2.GetFixedDocumentSequence()
xpsDocument__2.Close()
Dim …Run Code Online (Sandbox Code Playgroud)