我有一个ScrollViewer,它包含一个包含2个ListView的Horizontal StackPanel.
我的目标是让2个ListViews一起滚动.我遇到的问题是我无法将ListView中的内置ScrollViewers禁用...无论我做什么,它们都会继续独立滚动.我真的一定要错过一些东西......任何帮助都会受到赞赏.
这是我的XAML:
<ScrollViewer VerticalScrollBarVisibility="Visible"
HorizontalScrollBarVisibility="Disabled"
ZoomMode="Disabled"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="830"
Height="500">
<StackPanel x:Name="teesSP"
HorizontalAlignment="Left"
Height="500"
Width="830"
Orientation="Horizontal"
VerticalAlignment="Top">
<ListView x:Name="timesLV1"
HorizontalAlignment="Left"
Width="130"
Height="500"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollMode="Disabled"
ScrollViewer.IsHorizontalRailEnabled="False"
ScrollViewer.IsHorizontalScrollChainingEnabled="False"
ScrollViewer.IsScrollInertiaEnabled="False"
ScrollViewer.IsVerticalRailEnabled="False"
ScrollViewer.IsVerticalScrollChainingEnabled="False"
ScrollViewer.IsZoomChainingEnabled="False"
ScrollViewer.IsZoomInertiaEnabled="False"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollMode="Disabled"
BorderThickness="2"
BorderBrush="Black"
VerticalAlignment="Top"
ItemTemplate="{StaticResource TimeTileTemplate}"
SelectionMode="Single"
SelectionChanged="timesLV_Click" />
<ListView x:Name="timesLV2"
HorizontalAlignment="Left"
Width="700"
Height="500"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.HorizontalScrollMode="Disabled"
ScrollViewer.IsHorizontalRailEnabled="False"
ScrollViewer.IsHorizontalScrollChainingEnabled="False"
ScrollViewer.IsScrollInertiaEnabled="False"
ScrollViewer.IsVerticalRailEnabled="False"
ScrollViewer.IsVerticalScrollChainingEnabled="False"
ScrollViewer.IsZoomChainingEnabled="False"
ScrollViewer.IsZoomInertiaEnabled="False"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollMode="Disabled"
BorderThickness="2"
BorderBrush="Black"
VerticalAlignment="Top"
ItemTemplate="{StaticResource TimeTileTemplate}"
SelectionMode="Single"
SelectionChanged="timesLV_Click" />
</StackPanel>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud) 我只需要读取完整字符串的特定部分.该字符串将采用以下形式:
"1部分货币名称= 0.4232其他货币名称"
因此,我能想到的最快的方法是将字符串拆分为等于(=)运算符,从而向数组添加两个值,如下所示:
string rawInput = "1 Some Currency Name = 0.4232 Other Currency Name";
string[] rawSplit = rawInput.Split('=');
string firstRate = rawSplit[0].ToString();
string secondRate = rawSplit[1].ToString();
Run Code Online (Sandbox Code Playgroud)
我现在只需要获取secondRate字符串的第一部分("0.4232").所以我会再次拆分该字符串(编码错误):
string[] lastSplit = secondRate.Split(); //Split at whitespace characters
string firstValue = lastSplit[0].ToString(); //Should return "0.4232" but instead returns ""
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序来测试此函数时,它返回一个空字符串而不是值"0.4232".为什么会这样?我在这里错过了什么?
完整方法:
private void btnTest_Click(object sender, EventArgs e)
{
string rawInput = "1 Some Currency Name = 0.4232 Other Currency Name";
string[] rawSplit = rawInput.Split('=');
string baseRate = rawSplit[0].ToString(); //1 Some Currency …Run Code Online (Sandbox Code Playgroud) 我可能在相同的代码中盯着太长时间,但我似乎无法让进度条在下面的代码中工作.有人有任何提示吗?
private void doBackgroundTIFConverter(object sender, DoWorkEventArgs e)
{
string tifFileName = (string)e.Argument;
bm = new Bitmap(tifFileName);
int total = bm.GetFrameCount(FrameDimension.Page);
document.Open();
cb = writer.DirectContent;
for (int k = 0; k < total; ++k)
{
backgroundTIFConverter.ReportProgress(k / total * 100);
bm.SelectActiveFrame(FrameDimension.Page, k);
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(bm, ImageFormat.Bmp);
// scale the image to fit in the page
img.ScalePercent(72f / img.DpiX * 100);
img.SetAbsolutePosition(0, 0);
cb.AddImage(img);
document.NewPage();
}
bm.Dispose();
document.Close();
}
private void progressBackgroundTIFConverter(object sender, ProgressChangedEventArgs e)
{
splitProgressBar.Value = e.ProgressPercentage;
}
private …Run Code Online (Sandbox Code Playgroud) 我有以下Linq to Objects查询:
var query = this._vaporizerData
.Where(row => row.Coater == coater)
.Where(row => row.Distributor == distributor)
.Where(row => row.PowerTubeA.HasValue);
if (query.Any())
{
tubeA = query
.Where(row => row.CoaterTime.Value >= readTime.AddMinutes(-5))
.Where(row => row.CoaterTime.Value <= readTime)
.OrderByDescending(row => row.CoaterTime)
.Select(row => row.PowerTubeA)
.First()
.Value;
}
Run Code Online (Sandbox Code Playgroud)
我知道当执行query.Any()行时,将评估第一个Linq查询.我的问题是这个.假设第一个查询的结果是5行数据.当我执行第二个查询(以'tubeA = query'开头)时,我是否更正它将仅对第一个查询返回的五行进行评估?
非常感谢.
我有一个 DataGrid,其中有 2 列,在 XAML 中定义为
<DataGrid x:Name="marketInfodg" Grid.Row="1"
ItemsSource = "{Binding ElementName=This, Path=dataTableTest}"
CanUserAddRows="False">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Department Id" x:Name="comboboxColumn1"
SelectedValueBinding="{Binding Department Id}" />
<DataGridTemplateColumn x:Name="DataGridTempCol" Header="Selection">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
x: Name = "combo"
SelectedValue = "{Binding Selection, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
ItemsSource = "{Binding comboBoxSelections, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
DropDownOpened = "combo_DropDownOpened"
DisplayMemberPath = "Key"
IsEditable="True">
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
构造函数代码是
_dataTableTest = new DataTable();
DataColumn dc = new DataColumn();
dc.ReadOnly = false;
dc.DataType = typeof(String);
dc.ColumnName = "Department …Run Code Online (Sandbox Code Playgroud)