我想在Python中编写一个自定义列表类(让我们称之为MyCollection),我最终可以调用它:
for x in myCollectionInstance:
#do something here
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?是否有一些我必须扩展的类,或者是否有任何我必须覆盖的函数才能这样做?
有没有办法在XAML中设置多个枚举标志(传统上由|代码隐藏中的|分隔)?我尝试过类似的东西:
<ns:SomeControl Flags="FlagA|FlagB" />
Run Code Online (Sandbox Code Playgroud)
但那没用.
我有两个显示器.我想制作一个媒体播放器,我想在我的辅助显示器上全屏播放视频.所以我正在尝试使用WPF制作媒体播放器
这是我写的代码到目前为止
Screen[] _screens = Screen.AllScreens;
System.Drawing.Rectangle ractagle = _screens[1].Bounds;
//player is my window
player.WindowState = WindowState.Maximized;
player.WindowStyle = WindowStyle.None;
player.Left = ractagle.X;
player.Top = ractagle.Y;
// MediaControl is an media elements
MediaControl.Height = ractagle.Height;
MediaControl.Width = ractagle.Width;
Run Code Online (Sandbox Code Playgroud)
但不知何故,它只是在我的第一个显示器上播放.非常感谢任何形式的帮助.
我正在尝试使用iTextSharp创建Landscape PDF但它仍然显示肖像.我在旋转时使用以下代码:
Document document = new Document(PageSize.A4, 0, 0, 150, 20);
FileStream msReport = new FileStream(Server.MapPath("~/PDFS/") + "Sample1.pdf", FileMode.Create);
try
{
// creation of the different writers
PdfWriter writer = PdfWriter.GetInstance(document, msReport);
document.Open();
PdfPTable PdfTable = new PdfPTable(1);
PdfTable.SpacingBefore = 30f;
PdfPCell PdfPCell = null;
Font fontCategoryheader = new Font(Font.HELVETICA, 10f, Font.BOLD, Color.BLACK);
for (int i = 0; i < 20; i++)
{
PdfPCell = new PdfPCell(new Phrase(new Chunk("Sales Manager: ", fontCategoryheader)));
PdfPCell.BorderWidth = 0;
PdfPCell.HorizontalAlignment = Element.ALIGN_LEFT;
if (i …Run Code Online (Sandbox Code Playgroud) 我试图获取目录及其子目录中的所有文件的列表.我目前的递归方法如下:
private void printFiles(File dir) {
for (File child : dir.listFiles()) {
if (child.isDirectory()) {
printFiles(child);
} else if (child.isFile()) {
System.out.println(child.getPath());
}
}
}
printFiles(new File("somedir/somedir2"));
Run Code Online (Sandbox Code Playgroud)
但是,我希望有一种非递归方式(可能是现有的API调用).如果没有,这是最干净的方式吗?
我正在尝试使用StringFormat在一个绑定到TextBlock的值周围插入叛逆(撇号?):
<TextBlock Text="{Binding MyValue, StringFormat='The value is '{0}''}"/>
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个编译错误:
MarkupExtension中的名称和值不能包含引号.MarkupExtension参数'MyValue,StringFormat ='值为'{0}''}'无效.
我注意到它确实适用于引号:
<TextBlock Text="{Binding MyValue, StringFormat='The value is "{0}"'}"/>
Run Code Online (Sandbox Code Playgroud)
这是StringFormat的错误吗?
我有一个停靠面板,中间有一个标签,最右边有另一个按钮.
由于按钮,当窗口最大化时,标签无法与中间对齐.
WPF:
<DockPanel Height="40" HorizontalAlignment="Stretch" Margin="-1,-2,0,0" Name="dockPanel1" VerticalAlignment="Stretch" Width="Auto" OpacityMask="{x:Null}">
<Label FontSize="18" Content="Sales" FontWeight="Bold" FontFamily="Arial" Width="883" Height="42" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Foreground="White" DockPanel.Dock="Left" VerticalAlignment="Center" VerticalContentAlignment="Center"></Label>
<Button FontSize="18" Height="47" Width="123" Name="btnStart" Foreground="White" BorderBrush="{x:Null}" FlowDirection="LeftToRight" HorizontalContentAlignment="Center" FontFamily="Arial Rounded MT" ClickMode="Press" DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center" Padding="0" Content="Start" BorderThickness="0" Focusable="False">
</DockPanel>
Run Code Online (Sandbox Code Playgroud) 我是Haskell的新手,我想继续从控制台读取行直到流的结尾,然后输出我用大写字母表示的所有内容.到目前为止,我已经有了
import Data.Char
main = myLoop
myLoop = do inp <- getLine
if (inp == "x")
then putStrLn "Bye!"
else do putStrLn(map toUpper inp)
myLoop
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法弄清楚如何避免这种if (inp == "x")情况并用流结束条件替换它.
简而言之,我正在寻找Haskell与while (cin >> line)C++ 相当的东西
我没有考虑具体的情况,但是当我想到可能想要在DispatcherTimer上使用Timer的场景时,这个问题在我脑海中浮现.
在我必须执行计算密集型任务时,每当计时器事件触发,然后对UI 进行微小修改时,在性能方面会更好:
我的猜测是尽可能长时间地保持UI线程不被阻塞将增强用户体验.如果这是可取的,在这种情况下是否有任何我应该注意的捕获量?
编辑:
我觉得我的问题不够明确,所以我将尝试添加一个具体的,虽然是一个简单的例子.
假设我必须每2分钟读取一个大文件,当我完成后,我必须将一个项目添加到ListBox.假设读取/处理文件需要10-15秒,在此期间我没有UI工作.对于这样的事情,最好的方法是什么?
我知道JavaFX中有听众,我确信Java.但我很困惑如何实现它们.
我有一个在我的程序中改变的布尔变量.每次更改布尔值时,我都希望运行一个函数myFunc().
这可以轻松完成吗?
wpf ×5
c# ×4
java ×2
.net ×1
apostrophe ×1
directory ×1
enum-flags ×1
escaping ×1
file ×1
haskell ×1
itextsharp ×1
javafx ×1
list ×1
media-player ×1
mediaelement ×1
python ×1
silverlight ×1
subdirectory ×1
xaml ×1