1

我需要根据用户输入创建一组图像,如下所示。

图片

现在我正在以编程方式创建按钮并设置图像属性。
但这很痛苦,因为它有一堆 C# 代码要编写。

有没有更好的方法来实现这一目标?

注意:鼠标悬停在图像数组中的每个项目上时,它必须在数组中显示其编号,如 2x1。

4

2 回答 2

2
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

    $(document).ready(function(){
        $("#generate").click(function(){
            var cols = $("#cols").val();
            var rows = $("#rows").val();
            var table= '';
            table +=  '<table>' ;

            for(i=0;i<rows;i++){
                table += '<tr>' ;
                for(j=0;j<cols;j++){
                    table += '<td><img src="http://cdn1.iconfinder.com/data/icons/woocons1/Speaker.png" /></td>';
                }
                table += '</tr>' ;
            }
            table += '</table>';
            $('#output').html( table ); // outputing generated table
        });

        $(document).on("hover", "#output img", function(){ 
            var col_no = $(this).parent().parent().children().index($(this).parent()) + 1;
            var row_no = $(this).parent().parent().index() + 1;
            $('#position').html(row_no + 'x' + col_no);

        })
    });

</script>
Number of Rows:<input type="text" id="rows" /><br />
Number of Columns:<input type="text" id="cols" /> <br />
<input type="button" value="Generat" id="generate" />

<div id="output"></div>
<div id="position"></div>
于 2012-12-24T07:41:04.833 回答
1

希望这些代码可以指导您:

int numberOdRows=int32.Parse(NoRows.Text); //NoRows is the 1st textBlock
int numberOdColumns=int32.Parse(NoCols.Text); //NoCols is the 2st textBlock

StackPanel _stack0=new StackPanel { orientation = Orientation.Vertical};
for (int i=1;i<numberOdRows;i++)
{
    StackPanel _stack1=new StackPanel{ orientation = Orientation.Horizontal};
    for (int j=1;i<numberOdColumns;i++)
    {
         image; //I assume you can call it
        _stack1.Children.Add(image)

        //here you can set the Tooltip too.
        // i is the number of row
        // j is the number of column
        image.ToolTip="(" + i.ToString() + "," + j.ToString() + ")" ;
    }
    _stack0.Children.Add(_stack1)
}

//Add _stack0 to your panel

编辑:我添加了 ToolTip 部分

于 2012-12-24T07:00:18.777 回答