有一个变量,它包含一些标志,我想删除其中一个.但我不知道如何删除它.
这是我如何设置标志.
my.emask |= ENABLE_SHOOT;
Run Code Online (Sandbox Code Playgroud) 精简版
我想ListBox在选择更改时将项目滚动到视图中.
长版
我有一个ListBox与所述ItemsSource绑定到一个CollectionViewSource具有GroupDescription,按照下面的例子.
<Window.Resources>
<CollectionViewSource x:Key="AnimalsView" Source="{Binding Source={StaticResource Animals}, Path=AnimalList}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Category"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Window.Resources>
<ListBox x:Name="AnimalsListBox"ItemsSource="{Binding Source={StaticResource AnimalsView}}" ItemTemplate="{StaticResource AnimalTemplate}" SelectionChanged="ListBox_SelectionChanged">
<ListBox.GroupStyle>
<GroupStyle HeaderTemplate="{StaticResource CategoryTemplate}" />
</ListBox.GroupStyle>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
SelectionChanged代码隐藏文件中有一个事件.
public List<Animal> Animals { get; set; }
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListBox control = (ListBox)sender;
control.ScrollIntoView(control.SelectedItem);
}
Run Code Online (Sandbox Code Playgroud)
现在.如果我将其设置AnimalsListBox.SelectedItem为当前不可见的项目,我希望将其滚动到视图中.这就是它变得棘手的地方,因为ListBox群组(IsGrouped属性true)是ScrollIntoView失败的调用.
System.Windows.Controls.ListBox通过反射器.注意base.IsGrouping在 …
精简版
需要每天早上向70多人分发每晚构建,想要使用git来平衡传输,并且在我开始设计系统之前想知道是否存在提示,陷阱或缺陷.
长版
每天早上我们都需要将我们的夜间版本分发给70多人(艺术家,测试人员,程序员,制作人员等)的工作室.到目前为止,我们已将构建复制到服务器并编写了一个同步程序来获取它(使用下面的Robocopy); 即使设置了镜像,传输速度也会慢得多,因为在高峰时间需要一个小时或更长时间才能同步(非高峰时间约为15分钟),这表明它是硬件I/O瓶颈.
我有一个很棒的(虽然绝对不是原创)想法是在整个工作室分配负载.在调查使用臭名昭着的bit-torrent协议编写客户端之后,我想到了另一个想法,我可以使用git作为设计,它可以让我们分发构建和修订管理,同时减少服务器的额外好处.
问题
你如何开始使用git?我有像Perforce和SVN这样的集中式源控制系统的经验.阅读文档,似乎您需要做的就是运行git init path\\to\folder,然后在另一台机器上运行git clone url?
我在哪里获得url上述git clone命令?我可以定义吗?我发现有一个网址奇怪的概念,因为git没有中央服务器 - 或者是这样吗?例如类似于一个比特洪流的跟踪器?
识别构建,使用变更列表编号或标签的更好选择是什么?
是否可以限制存储的修订数量?这将是有用的,因为除了夜间构建之外,我们还有一些我们想要分发的CI构建,但是无限数量修订无处不在.在Perforce中,您可以通过设置属性来限制修订.
题
BlockUIContainer?背景
我生成FlowDocument了一段文本,其中Rectangle包含DrawingBrushes从资源字典和BlockUIContainer自定义控件填充的一些元素.
在任何的FlowDocument*的观察时,所述文档正确呈现控制无论其当文档被转换为固定文档/ XpsDocument,没有一个Rectangle或BlockUIContainer元素渲染.
我几乎可以肯定这是因为没有测量/安排控件,但是无法弄清楚如何在转换为XpsDocument之前强制执行.
我已经LogicalTree递归地走过去做了以下事情,
UIElement element = (UIElement)d;
element.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));
element.Arrange(new Rect(element.DesiredSize));
element.UpdateLayout();
Run Code Online (Sandbox Code Playgroud)
这里d是一个DependencyObject.我可以看到这在调试器中以break-pointed为单位设置ActualWidth和ActualHeight属性.
我试图Dispatcher按照Will♦的建议强制渲染.
用于打印XpsDocument的代码
public class XpsDocumentConverter
{
public static XpsDocumentReference CreateXpsDocument(FlowDocument document)
{
// Need to clone the document so that the paginator can work
FlowDocument clonedDocument = DocumentHelper.Clone<FlowDocument>(document); …Run Code Online (Sandbox Code Playgroud) 我想通过c#/ PInvoke调用GetLogicalProcessorInformation函数,但是我坚持使用SYSTEM_LOGICAL_PROCESSOR_INFORMATIONstruct和CACHE_DESCRIPTORstruct.
我该如何定义这些结构以便正确使用?
主要表现在:
1.SYSTEM_LOGICAL_PROCESSOR_INFORMATION有工会在其定义
2. SYSTEM_LOGICAL_PROCESSOR_INFORMATION具有ULONGLONG在其定义
3. CACHE_DESCRIPTOR具有WORD与DWORD在它的定义.
你能帮我解决这些问题吗?
这个问题继续从我昨天的问题中学到的,即使用git分发夜间版本.
在上述问题的答案中,很明显git不适合我的需要,并鼓励使用BitTorrent重新检查.
精简版
需要每天早上向70多人分发每晚构建,想使用git BitTorrent来平衡转移.
长版
NB.如果您已阅读我之前的问题,可以跳过以下段落.
每天早上我们都需要将我们的夜间版本分发给70多人(艺术家,测试人员,程序员,制作人员等)的工作室.到目前为止,我们已将构建复制到服务器并编写了一个同步程序来获取它(使用下面的Robocopy); 即使设置了镜像,传输速度也慢得令人无法接受,因为它需要长达一个小时或更长时间才能在高峰时间同步(非高峰时间大约为15分钟),这表明它们是硬件I/O瓶颈和可能的网络带宽.
到目前为止我所知道的
到目前为止我发现了什么:
我在维基百科上找到了关于BitTorrent协议的优秀条目,这是一个有趣的读物(我以前只知道种子如何工作的基础知识).在客户端 - 服务器握手之后,在BITFIELD交换机上也发现了这个StackOverflow应答.
我还找到了MonoTorrent C#Library(GitHub Source),我可以用它来编写我们自己的跟踪器和客户端.我们不能使用现成的跟踪器或客户端(例如uTorrent).
问题
在我的初始设计中,我让我们的构建系统创建一个.torrent文件并将其添加到跟踪器.我会使用我们现有的构建镜像来超级种子.
使用这种设计,我是否需要为每个新构建创建一个新的.torrent文件?换句话说,是否有可能创建一个"滚动" .torrent,如果构建的内容只有20%的变化,那么需要下载才能获得最新的内容?
......其实.在编写上述问题时,我认为我需要创建新文件,但是我可以下载到用户计算机上的相同位置,哈希将自动确定我已经拥有的内容.它是否正确?
回应评论
对于完全新鲜同步整个构建(包括:游戏,源代码,本地化数据,和光盘图像为PS3和X360)〜37000页的文件和在未来只是 50GB下.随着生产的继续,这将会增加.当只有2个其他同步发生时,这个同步需要29分钟才能完成,如果您认为在早上9点我们将有50多个想要获得最新的人,这个低峰值.
我们已经与IT部门调查了磁盘I/O和网络带宽; 结论是网络存储已经饱和.我们还将统计数据记录到同步数据库中,这些记录显示即使是少数用户,我们也会获得不可接受的传输速率.
如果不使用现成的客户端,在用户机器上安装uTorrent等应用程序是一个法律问题,因为可以使用该程序轻松下载其他项目.我们还希望有一个自定义工作流程来确定您想要获得哪个版本(例如,只有PS3或X360,具体取决于您桌面上的DEVKIT)以及可用的新版本的通知等.使用MonoTorrent创建客户端不是其中之一我很担心.
我搜索了P4文档和知识库,我找不到是否有任何键盘快捷键来执行常见操作来分散文件.
我知道下一次和之前的更改(分别是CTRL+ 1和CTRL+ 2),但是有更常见的操作.
那么,你知道有没有未记载的键盘快捷键吗?
例如:
假设我有一个DrawingBrush硬编码的三种颜色,即边框,前景和背景.

<!-- Resource -->
<DrawingBrush x:Key="EventIcon" Stretch="Uniform">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Brush="#FF9200CE" Geometry="F1 M 51.2119,61.4688L 43.4193,61.4688L 43.4194,29.318L 27.8341,29.318L 27.834,61.4688L 20.0414,61.4688L 35.6267,77.1353L 51.2119,61.4688 Z "/>
<GeometryDrawing Brush="#FFB400FF" Geometry="F1 M 44.4789,64.2014L 40.2667,64.2667L 40.13,29.318L 27.8341,29.318L 27.834,61.4688L 20.0414,61.4688L 33.8667,75.1467L 44.4789,64.2014 Z "/>
<GeometryDrawing Geometry="F1 M 51.2119,61.4688L 43.4193,61.4688L 43.4194,29.318L 27.8341,29.318L 27.834,61.4688L 20.0414,61.4688L 35.6267,77.1353L 51.2119,61.4688 Z ">
<GeometryDrawing.Pen>
<Pen Thickness="2" StartLineCap="Round" EndLineCap="Round" LineJoin="Round" Brush="#FF3D0033"/>
</GeometryDrawing.Pen>
</GeometryDrawing>
<GeometryDrawing Brush="#FFFFFFFF" Geometry="F1 M 33.7559,53.2538L 32.6202,40.9989L 32.6202,35.3362L 37.3531,35.3362L 37.3531,40.9989L 36.2333,53.2538L 33.7559,53.2538 Z M 32.6202,59.6771L 32.6202,54.9442L 37.3531,54.9442L 37.3531,59.6771L 32.6202,59.6771 …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个工具/资产转换器,使用FreeType2引擎将字体光栅化为XNA游戏的纹理页面.
下面,第一个图像是FreeType2] 1引擎的直接输出.第二个图像是尝试将其转换为a后的结果System::Drawing::Bitmap.
目标http://www.freeimagehosting.net/uploads/fb102ee6da.jpg currentresult http://www.freeimagehosting.net/uploads/9ea77fa307.jpg
任何关于这里发生的事情的提示/提示/想法将不胜感激.链接到解释字节布局和像素格式的文章也会有所帮助.
FT_Bitmap *bitmap = &face->glyph->bitmap;
int width = (face->bitmap->metrics.width / 64);
int height = (face->bitmap->metrics.height / 64);
// must be aligned on a 32 bit boundary or 4 bytes
int depth = 8;
int stride = ((width * depth + 31) & ~31) >> 3;
int bytes = (int)(stride * height);
// as *.bmp
array<Byte>^ values = gcnew array<Byte>(bytes);
Marshal::Copy((IntPtr)glyph->buffer, values, 0, bytes);
Bitmap^ systemBitmap = gcnew Bitmap(width, height, …Run Code Online (Sandbox Code Playgroud) 我很难从perforce服务器获取最新版本.仓库非常大,我不想做一个完整的结账,因为它会传说很长一段时间.相反,我将未版本化的源和依赖项放在工作区中并执行"p4 sync -k".这成功地对我的文件进行了版本,但它没有从服务器中带来新文件.
我怎样才能做到这一点 ?
我们用来Debug.Assert向开发人员发出代码中的问题.我想添加错误发生的行号,但不是硬代码,因为这可能会改变,我们会忘记更新字符串.
添加错误的行号会很方便.有任何想法吗?
我在 Power BI 中有一个 VS Team Services 项目的燃尽图 - 这样我们就可以报告故事点而不是剩余的工作量。
在图表中,我在 X 轴上有日期。有没有办法从图表中过滤掉周末日期?周末没有活动。
我找到了这个论坛帖子,但是我不明白如何将其添加到我们的报告中。
c# ×6
wpf ×4
perforce ×2
.net ×1
bittorrent ×1
c ×1
c++-cli ×1
cpu ×1
debugging ×1
flags ×1
flowdocument ×1
freetype ×1
freetype2 ×1
git ×1
glyph ×1
p4v ×1
pinvoke ×1
powerbi ×1
printing ×1
silverlight ×1
visual-c++ ×1
windows ×1
xaml ×1
xpsdocument ×1