嗨,我一直在寻找一个没有成功的解决方案......
我想要一个类似于的网格:
+-------+----------------+
| | |
+-------+----------------+
| |
| |
| |
+-------+----------------+
| | |
+-------+----------------+
Run Code Online (Sandbox Code Playgroud)
先感谢您!
我不确定这是否是我遇到的一个基本问题,但我现在几天都无法解决这个问题......
我目前正在用C#编写.NET库(使用.NET 3.5).除此之外,它还包括将三重Int32数组(每个几MB)写入远程缓存(memcached服务器)和读回这些数组的功能.问题是,即使memcached服务器在本地计算机上运行,我可以提出的每个实现花费大约1.2秒来写入10MB数据,另外大约1.2秒用于读取相同数据.
但是,为了比较性能,我只需写入剪贴板就将写入替换为缓存服务器,并注意到执行写入仍需要1.2秒.我打电话给测试方法(如下所示),包括一个stopwatch开始/停止基准测试.方法是:
public void writeCachedImageData(int[,] atoms, int[,] noAtoms, int[,] dark, int cameraID, int runID, int seqID)
{
Clipboard.SetData(DataFormats.Serializable, atoms);
Clipboard.SetData(DataFormats.Serializable, noAtoms);
Clipboard.SetData(DataFormats.Serializable, dark);
}
Run Code Online (Sandbox Code Playgroud)
对于基准测试,每个阵列为1000x1000.基本上,我的问题是:
1)从这次测试得出的结论是否正确,我的瓶颈是某种方式从应用程序到外部的数据传输速率?和
2)如果是这样,我可以做些什么来提高从应用程序到剪贴板或最终memcached服务器的数据传输速率?
这就是我想用CommandBar实现的目标.
当物品标签没有足够的空间时,我想隐藏标签,而不是进入溢出菜单.当我调整CommandBar的大小时,如果有足够的空间,我希望标签重新出现.
我可以使用iconOnlyprops和onReduceData回调来隐藏标签.
然后我尝试使用它onGrowData来恢复iconOnlycommandBar调整大小的时间,但由于溢出中没有项目,因此永远不会调用回调.
<CommandBar
className='CommandBar'
items={[{
iconProps: { iconName: 'Previous' },
key: 'FindPrevious',
onClick: () => { this.findPrevious() },
text: 'Find Previous',
},
{
iconProps: { iconName: 'Next' },
key: 'FindNext',
onClick: () => { this.findNext() },
text: 'Find Next',
}]}
farItems={[{
iconProps: { iconName: 'Search' },
key: 'FindAll',
onClick: this.findAll,
text: 'Find All',
}]}
onReduceData={this.onReduceData}
/>
private onReduceData = (data: ICommandBarData): any => {
data.primaryItems[0].iconOnly …Run Code Online (Sandbox Code Playgroud) 下面是这样的情况:我只使用一个<LabeL>显示Hello Word 的简单网格构建一个基本的WPF应用程序!
这是XAML:
<Window x:Class="TestShell.NoCaliburn.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Label VerticalAlignment="Center" HorizontalAlignment="Center">Hello World!</Label>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
在我的机器上,我安装.Net 4.5了,应用程序出现在一秒钟之内.但是在我的同事机器上,应用程序出现在≈10s之后.
注意 此行为仅在WPF中发生
我错过了什么?
我有一个我定义的ObservableCollection对象Connection.
如何从该列表中的所有连接中提取所有URL?
我想以正确的方式做类似的事情:
ObservableCollection<Connection> connectionList;
List<string> listUrl = new List<string>();
foreach (var connection in connectionList)
{
listUrl.Add(connection.PortalUrl);
}
Run Code Online (Sandbox Code Playgroud) 嗨,今天我决定更新Caliburn.Micro nuget包.
但从那以后我的所有按钮/控制都被打破了.
没有更多约束力!此外,每次我点击一个按钮时,都会抛出此异常.

<Button x:Name="LeftImport" HorizontalAlignment="Left" Grid.Column="3" Style="{DynamicResource MetroCircleButtonStyle}" Width="30" Height="30" BorderThickness="0">
<Button.ToolTip>
<ToolTip>
<StackPanel>
<TextBlock FontWeight="Bold">Import</TextBlock>
<TextBlock>Import a package</TextBlock>
</StackPanel>
</ToolTip>
</Button.ToolTip>
<Rectangle Width="20" Height="20" Fill="White">
<Rectangle.OpacityMask>
<VisualBrush Stretch="Fill" Visual="{StaticResource appbar_download}" />
</Rectangle.OpacityMask>
</Rectangle>
</Button>
Run Code Online (Sandbox Code Playgroud)
注意 我使用Caliburn.Micro.Start来安装2.0.1
我没有解决方案.
我只想知道如何使用XDocument对整个元素进行注释.
XDocument doc = XDocument.Parse("<configuration>
<connectionString>
...
</connectionString>
<configuration>");
/*Something like that*/ doc.Root.Element("connectionStrings").NodeType = XComment; /*??*/
Run Code Online (Sandbox Code Playgroud) 有我的按钮:
<Button Style="{DynamicResource MetroCircleButtonStyle}" HorizontalAlignment="Right" Grid.Column="3" Width="40" Height="40" Command="{Binding NewConnectionCommand}">
<Rectangle Width="20" Height="20">
<Rectangle.Fill>
<VisualBrush Stretch="Fill" Visual="{StaticResource appbar_add}" />
</Rectangle.Fill>
</Rectangle>
<Button.ToolTip>
<ToolTip ToolTipService.InitialShowDelay="5000">
<StackPanel>
<TextBlock FontWeight="Bold">Add connection</TextBlock>
<TextBlock>Open the dialog to create the new connection.</TextBlock>
</StackPanel>
</ToolTip>
</Button.ToolTip>
</Button>
Run Code Online (Sandbox Code Playgroud)
我正在尝试将 initialShowDelay 设置为 5000 毫秒,就像你们看到的那样,但工具提示总是在默认时间显示......
我做错了什么?
所以,我的控制器里面有一个ActionResult,它应该从我的数据库中获取现有的值并将参数返回给视图.
我的方法称为ReadMeasurements,它抓取角度和点数据.如果存在/非空,我想返回角度和点数据.
我注意到我现在设置它的方式,我只返回我的角度数据,因为当角度数据和点数据不为空时,代码只返回角度数据而不返回点数据.
如何在方法中返回角度和点数据?
这是我的代码:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public ActionResult ReadMeasurements([DataSourceRequest] DataSourceRequest request, string viewType)
{
JsonResult json = new JsonResult();
List<AngleData> angledata = UserSession.GetValue(StateNameEnum.Planning, ScreenName.Planning.ToString() + "Angles" + viewType, UserSessionMode.Database) as List<AngleData>;
List<PointData> pointData = UserSession.GetValue(StateNameEnum.Planning, ScreenName.Planning.ToString() + "Points" + viewType, UserSessionMode.Database) as List<PointData>;
if (angledata != null)
{
List<PlanningViewParam> angles = new List<PlanningViewParam>();
foreach (AngleData i in angledata)
{
string col = "#" + ColorTranslator.FromHtml(String.Format("#{0:X2}{1:X2}{2:X2}", (int)(i.color.r * 255), (int)(i.color.g * 255), (int)(i.color.b …Run Code Online (Sandbox Code Playgroud) 当我执行以下代码以保存word文件后发生异常.请帮助我纠正问题.谢谢.
当访问是FileAccess.Read时,无法使用FileMode.Create,FileMode.CreateNew,FileMode.Truncate,FileMode.Append获取流.
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(path, false))
{
string docText = null;
using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
{
docText = sr.ReadToEnd();
}
//Regex regexText = new Regex("<var_Date>");
docText = docText.Replace("<var_Date>", DateTime.Now.ToString("MMM dd,yyyy"));
using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
sw.Write(docText);
}
Run Code Online (Sandbox Code Playgroud) private async Task<PortalODataContext> CallConnection(Connection connection)
{
bool cancel = false;
connection.Connected = true;
var task = getConnection(connection);
while (!cancel && !task.IsCompleted)
{
Thread.Sleep(100);
if (connection.Disconected)
{
cancel = true;
}
}
return await task;
}
Run Code Online (Sandbox Code Playgroud)
这是我在主线程上调用的函数,如下所示:
PortalODataContext portalContext = await this.CallConnection(connectionOpen);
Run Code Online (Sandbox Code Playgroud)
我是async的新手,等待所以我只想弄清楚为什么我的任务"CallConnection"会阻止我的主UI线程...你能帮助我吗?
哦,还有GetConnection:
private Task<PortalODataContext> getConnection(Connection connection)
{
return Task.Factory.StartNew(() =>
{
try
{
var context = connection.ConnectToPortal();
connection.ListTemplateLib = this.ShellModel.ConnectionManager.GetTemplateLibrarys(connection);
connection.ListTemplateGrp = this.ShellModel.ConnectionManager.GetTemplateGroups(connection, connection.TemplateLibraryId);
connection.ListTemplates = this.ShellModel.ConnectionManager.GetTemplates(connection, connection.TemplateGroupId);
return context;
}
catch (Exception)
{
throw;
}
});
Run Code Online (Sandbox Code Playgroud)
提前致谢
嗨,我一直在论坛上阅读了很多,但我无法找到问题的答案...
这是我想在布尔值变为 TRUE 时取消的函数:
Task<PortalODataContext> task = Task.Factory.StartNew(() =>
{
var context = connection.ConnectToPortal();
connection.ListTemplateLib = this.ShellModel.ConnectionManager.GetTemplateLibrarys(connection);
connection.ListTemplateGrp = this.ShellModel.ConnectionManager.GetTemplateGroups(connection, connection.TemplateLibraryId);
connection.ListTemplates = this.ShellModel.ConnectionManager.GetTemplates(connection, connection.TemplateGroupId);
return context;
}, token);
Run Code Online (Sandbox Code Playgroud)
如何在没有 LOOP 的情况下验证令牌是否收到取消请求?
类似的东西:
if (token.IsCancellationRequested)
{
Console.WriteLine("Cancelled before long running task started");
return;
}
for (int i = 0; i <= 100; i++)
{
//My operation
if (token.IsCancellationRequested)
{
Console.WriteLine("Cancelled");
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我没有需要循环的操作,所以我不知道该怎么做......
c# ×10
wpf ×4
.net ×3
async-await ×2
arrays ×1
asp.net-mvc ×1
asynchronous ×1
button ×1
grid ×1
json ×1
linq ×1
linq-to-xml ×1
list ×1
ngen ×1
openxml ×1
reactjs ×1
tooltip ×1
xaml ×1