问题列表 - 第2562页

如何在WPF中保持可缩放,可滚动内容的宽高比?

我是WPF的新手,我遇到了一个似乎有点难以解决的问题.基本上我想要一个可扩展但保持正方形(或任何其他任意)宽高比的4x4网格.这实际上看起来相当棘手,这让我感到惊讶,因为我认为这是一个相当普遍的要求.

我从这样的网格定义开始:

<Grid>
  <Grid.RowDefinitions>
    <Grid.RowDefinition Height="*"/>
    <Grid.RowDefinition Height="*"/>
    <Grid.RowDefinition Height="*"/>
    <Grid.RowDefinition Height="*"/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
    <Grid.ColumnDefinition Width="*"/>
    <Grid.ColumnDefinition Width="*"/>
    <Grid.ColumnDefinition Width="*"/>
    <Grid.ColumnDefinition Width="*"/>
  </Grid.ColumnDefinition>
  ...
</Grid>
Run Code Online (Sandbox Code Playgroud)

现在,如果将其设置为拉伸,则可以填充窗口或放入其中的任何容器.行和列是均匀的,但纵横比不固定.

然后我尝试将它放在StackPanel中以使用可用空间.没有帮助.当我记得Viewboxes的时候,最让我感到震惊的是什么.

<StackPanel Orientation="Horizontal">
  <Viewbox>
    <Grid Height="1000" Width="1000"> <!-- this locks aspect ratio -->
      <Grid.RowDefinitions>
        <Grid.RowDefinition Height="*"/>
        <Grid.RowDefinition Height="*"/>
        <Grid.RowDefinition Height="*"/>
        <Grid.RowDefinition Height="*"/>
      </Grid.RowDefinitions>
      <Grid.ColumnDefinitions>
        <Grid.ColumnDefinition Width="*"/>
        <Grid.ColumnDefinition Width="*"/>
        <Grid.ColumnDefinition Width="*"/>
        <Grid.ColumnDefinition Width="*"/>
      </Grid.ColumnDefinition>
      ...
    </Grid>
  </viewbox>
  <Label HorizontalAlignment="Stretch">Extra Space</Label>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

现在我的内容会缩放并保持宽高比.问题是,如果窗口不够宽,我的某些网格会离开屏幕.如果是这样的话,我希望能够滚动到它.同样,我可能需要最小尺寸,这也可能导致垂直滚动.

现在我尝试将StackPanel和Grid(单独)放在适当的ScrollViewer容器中,但随后内容不再缩放以适应窗口.它达到了全尺寸,这是不好的.

那我该怎么做呢?我吠叫错了树吗?有更好/更简单的方法吗?

.net c# wpf xaml

36
推荐指数
2
解决办法
4万
查看次数

随机排序的运行时间

sorted如果列表按O(n)运行排序,给定一个函数返回True ,你会如何描述这种运行时间:

def sort(l):
    while not sorted(l): random.shuffle(l)
Run Code Online (Sandbox Code Playgroud)

假设洗牌是完全随机的.

这会用big-O表示法写吗?或者是否有其他方法使用随机组件对算法进行分类?

language-agnostic sorting random algorithm list

2
推荐指数
2
解决办法
4120
查看次数

我可以在Perl正则表达式中使用命名组来获取散列结果吗?

是否可以像在Python中那样在Perl的正则表达式语法中执行命名组匹配?我总是$n在匹配后将值绑定到专有名称,所以如果可能的话,我会发现在正则表达式中更方便.

Python就像这样:

>>> import re
>>> regex = re.compile(r'(?P<count>\d+)')
>>> match = regex.match('42')
>>> print match.groupdict()
{'count': '42'}
Run Code Online (Sandbox Code Playgroud)

我知道这?P表明它是一个特定于Python的正则表达式功能,但我希望它以不同的方式在Perl中或稍后添加.有没有办法在Perl中以类似的方式获取结果哈希?

python regex perl

19
推荐指数
4
解决办法
8196
查看次数

MySQL中日期之间的差异

我想要计算2个日期时间字段之间的月数.

有没有比获得unix时间戳和除以2 592 000(秒)更好的方法并在MySQL中进行四舍五入?

mysql datediff date date-arithmetic

72
推荐指数
9
解决办法
17万
查看次数

SQLDeveloper是否支持执行脚本?

我今天试图遵循一些指示,并从评论开始


REM  In SQLPlus I manually copy in each line and execute it.
Run Code Online (Sandbox Code Playgroud)

那很好,我没有SQLPlus,我有SQLDeveloper.粘贴的行是以下类型:


@\\server\dir\dir\dir\commandfile1.txt;
COMMIT;
Run Code Online (Sandbox Code Playgroud)

...等等.

当我在SQL窗口中尝试它时,它不喜欢它.我手动打开并粘贴在命令中,对此也不满意.(我是否提到我对这个应用程序也不是很好,也不是Oracle,但今天其他所有人都在外面?)那里的文件以如下代码开头:


rem
set echo on
rem
execute procedure_name ('parameter1', 'parameter2');
Run Code Online (Sandbox Code Playgroud)

一个同事确实有SQLPlus,我们一起解决了它.但是,有没有办法让我用SQLDeveloper做到这一点,所以如果他也出局我就不会被卡住?

oracle sqlplus oracle-sqldeveloper

24
推荐指数
1
解决办法
9万
查看次数

VS#8和IIS6之间的C#强制转换不同

我有一段C#代码,它按类型将枚举值添加到下拉列表中.它要求在T1为枚举类型的情况下调用它,尽管我不能将其指定为类型约束,因为枚举是特殊情况,这是不可能的.这不是主要问题,因为它仅在内部使用并记录在案.

Description是System.Enum的扩展,它返回枚举值的DescriptionAttribute的值或值的ToString(如果未指定).

因此,我必须在LINQ语句的Cast部分中转换为System.Enum而不是T1,否则说明扩展不可用.

public static void AddEnum<T1>(this System.Web.UI.WebControls.DropDownList me)
{
    Type t = Enum.GetUnderlyingType(typeof(T1));
    var l = Enum.GetValues(typeof(T1))
                .Cast<System.Enum>()
                .Select(x => new ListItem(x.Description(),
                                          Convert.ChangeType(x, t)
                                                 .ToString()));
    me.Items.AddRange(l.ToArray());
}
Run Code Online (Sandbox Code Playgroud)

这很好,适用于Visual Studio 2008s Web开发服务器,但在IIS 6上运行时失败并出现强制转换异常.它以不变的硬编码可枚举作为填充ASP页面的类型参数运行.

System.InvalidCastException:从'%namespace.class + nameofenum%'到'System.Enum'的转换无效.处于System.Linq.Enumerable.d__b0的System.Convert.ChangeType(对象值,类型conversionType,IFormatProvider提供程序)的System.Convert.DefaultToType(IConvertible值,类型targetType,IFormatProvider提供程序),System.Linq处的1.MoveNext() at System.Linq.Enumerable.<SelectIterator>d__d2.MoveNext().缓冲区1..ctor(IEnumerable1源)在AddEnum [T1]的System.Linq.Enumerable.ToArray [TSource](IEnumerable`1源)(DropDownList me)

(我掩盖的名称空间/类名)

我无法在其他版本的IIS上测试它,但是开发版本与生产系统不匹配似乎很奇怪.有人知道为什么吗?

c# extension-methods iis-6 casting visual-studio-2008

2
推荐指数
1
解决办法
551
查看次数

mysql索引空值吗?

我有一个mysql表,其中索引的INT列对于90%的行将为0.如果我将这些行更改为使用NULL而不是0,它们是否会被排除在索引之外,使索引缩小约90%?

mysql indexing null

60
推荐指数
2
解决办法
4万
查看次数

如何从静态类引发自定义事件

我有一个静态类,我想在该类的静态方法中将事件作为try catch块的一部分引发.

例如,在这个方法中,我想在catch中引发一个自定义事件.

public static void saveMyMessage(String message)
{
    try
    {
        //Do Database stuff
    }
    catch (Exception e)
        {
              //Raise custom event here
        }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# asp.net

45
推荐指数
3
解决办法
6万
查看次数

如何从控制台应用程序实例化SPWeb对象?

我正在尝试编写一个控制台应用程序,它只列出sharepoint根目录下的列表数量.

我尝试使用以下代码,但对象SPContext.Current为null.有关如何获取Web对象的任何想法?

 SPWeb web = SPContext.Current.Site.OpenWeb("http://localhost") ;
Run Code Online (Sandbox Code Playgroud)

sharepoint wss

3
推荐指数
1
解决办法
7136
查看次数

C#List <>按x然后y排序

List <> OrderBy Alphabetical Order类似,我们希望按一个元素排序,然后按另一个元素排序.我们希望实现功能相当于

SELECT * from Table ORDER BY x, y  
Run Code Online (Sandbox Code Playgroud)

我们有一个包含许多排序函数的类,我们没有问题按一个元素排序.
例如:

public class MyClass {
    public int x;
    public int y;
}  

List<MyClass> MyList;

public void SortList() {
    MyList.Sort( MySortingFunction );
}
Run Code Online (Sandbox Code Playgroud)

我们在列表中有以下内容:

Unsorted     Sorted(x)     Desired
---------    ---------    ---------
ID   x  y    ID   x  y    ID   x  y
[0]  0  1    [2]  0  2    [0]  0  1
[1]  1  1    [0]  0  1    [2]  0  2
[2]  0  2    [1]  1  1    [1]  1 …
Run Code Online (Sandbox Code Playgroud)

.net c# sorting

87
推荐指数
4
解决办法
15万
查看次数